[C++]在for循环体内定义变量的效率分析


如果在for循环体内定义的是内置类型的变量,如int、float、double等,则与在循环体外定义基本没差别,因为当前编译器对此优化已足够好,在循环体内和体外定义内置类型变量对应的反汇编代码是一样的(根据各路网上大神实验结果);

如果在for循环体内定义的是自定义类型的变量,如自定义class对象,则与在循环体外定义是有差别的,因为需要不断创建和销毁临时变量,调用class的构造函数和析构函数需要一定开销。与内置类型不同,自定义class的constructor和deconstructor是编译器无法预期的,所以在编译器那块无法优化,所以这部分开销无法避免。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM