您的位置:首页 > 其它

牛课网 | 选择

2016-05-11 10:38 211 查看
下面哪些特性可能导致代码体积膨胀:

A 宏定义
B 模板
C 内联函数
D 递归

A 宏定义会单纯的替换,也就是如果宏定义替换的内容会成倍复制,所以会导致代码膨胀

B 模板的调用,会根据调用的参数,生成模板对应的实际调用的函数体,如果调用的参数不同,会生成不同的代码,所以会导致代码膨胀

C 内联函数会拷贝至调用的位置,如果调用多次回导致代码膨胀,,内联也是在编译时替换,所以也 可能导致代码体积膨胀。

但是注意了:

若这个函数被调用了一次,那么 内联 直接被插入到函数调用出,就直接没有了这个函数符号了,若加上优化,这一句代码可能会被优化没有,所以,也可能使 代码体积减小 。

D选项是容易爆栈,不是代码区。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: