在c中的循环中创建新变量时更好
发布时间:2020-12-16 10:16:52 所属栏目:百科 来源:网络整理
导读:C在循环中使用std :: map的最佳方法是什么? 动态分配 分配堆栈 码: for(int i=0;i3;i++){ std::mapint,int* m = new std::mapint,int; //or ... std::mapint,int m;} 解决方法 除非你真的需要它,否则避免使用new,即变量/结构的寿命与任何调用范围无关. (如
C在循环中使用std :: map的最佳方法是什么?
>动态分配 码: for(int i=0;i<3;i++) { std::map<int,int>* m = new std::map<int,int>; //or ... std::map<int,int> m; } 解决方法
除非你真的需要它,否则避免使用new,即变量/结构的寿命与任何调用范围无关. (如果它“属于”调用函数,则按值返回.)
这显然不是这种情况.第二个,最好的例子叫做局部变量. 我会在两者之间做出选择 for(int i=0;i<3;i++) { std::map<int,int> m; … } 和 std::map<int,int> m; for(int i=0;i<3;i++) { … m.clear(); } 当容器是std :: vector时,后者可以通过重用分配的内存来执行得更好.与地图不同的是风格. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |