大佬教程收集整理的这篇文章主要介绍了c – 为什么此STL映射的条目未在GCC 4.5.1中初始化?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
std::map<double,double> temp; temp[0] = .1; cout << temp[1] << endl; // result varies based on compiler
我正在使用GCC版本4.4.1编译,我从temp [1]得到的值为0,正如我所期望的那样.我的同事正在编译GCC 4.5.1版.在调试模式下(使用-g标志),他获得1000.在编译释放模式(-O2标志)时,他得到0.
我的想法是,这是通常在未初始化的变量中出现的问题类型,除了地图应该基于this question和其他几个类似于它们的元素@L_262_2@默认构造函数.
此外,Josuttis的C标准图书馆指出
为什么地图中的元素在调试模式下没有在GCC 4.5.1中初始化?我不理解其他人对此行为的正确评价吗?新元素的默认构造是否不一定是标准的一部分?或者这可能是编译器中的实际错误?
以上是大佬教程为你收集整理的c – 为什么此STL映射的条目未在GCC 4.5.1中初始化?全部内容,希望文章能够帮你解决c – 为什么此STL映射的条目未在GCC 4.5.1中初始化?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。