作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设我有以下类(class):
class A{ };
然后在我的代码中有一个函数:
A foo(){
A ret;
//Do stuff
return ret;
}
然后我稍后使用该函数......
优化编译器(如 g++
)是否会将 foo()
视为 void
函数并跳过实际为空对象分配内存?它可能不会这样做,因为即使空类的大小也为 1。
最佳答案
这是 gcc.godbolt.org 的用例您可以在其中查看生成的汇编代码(我建议您单击着色按钮以查看哪个 C++ 代码对应于哪个汇编代码)。您可以看到即使使用 -O0 也没有生成代码来分配或复制对象。您可以尝试使用其他编译器和优化级别。您可以使用 #define
轻松比较返回 class A
和 void
之间的代码。
关于c++ - 一个空的类会被优化掉吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36991330/
我正在编写一个快速的 preg_replace 来从 CSS 中删除注释。 CSS 注释通常有这样的语法: /* Development Classes*/ /* Un-comment me for
使用 MySQL,我有三个表: 项目: ID name 1 "birthday party" 2 "soccer match" 3 "wine tasting evening" 4
我是一名优秀的程序员,十分优秀!