|
楼主 |
发表于 2011-7-6 21:40:04
|
显示全部楼层
引用第19楼glede于2011-07-05 23:28发表的 :
LZ不要过度依赖于F5,因为有些地方是源代码隐构造造成,比如对A=A+B,如果编译器选择不合适的话,可执行文件里势必产生A的另外一个构造函数,而A+=B则不会。子程序参数传递也是一样,如果参数化表做得不合适的话,同样产生多余的参数变量构造函数,比如subfun(class A, class B)同样会产生多余的构造函数,而subfun(class &A, class &B)就不会。
不过话又说回来,某X的程序员肯定不会那么精细,像subfun(class A, class B)这样类似的东东估计少不了,其他地方就更加不用说了。
当然不能光靠F5。。。某些时候F5出来的逻辑压根就是错的,这种情形不少见。。
不过F5很方便结构体变量,数组变量等的定位。这是一大优势。
PS:上面的class的情况说白了和F5本身关系不大,C++本来就那样,某些写法会调用拷贝构造函数或构造函数,当然反映到汇编上也就有了,F5只是单纯的给一个供参考的C伪代码。所以当然该有的就有了。 |
|