扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:谢启东编译 来源:天极开发 2007年11月16日
关键字: Visual C++ 2005 命名返回值 优化
A MyMethod (B &var) { A retVal; retVal.member = var.value + bar(var); return retVal; } |
valA = MyMethod(valB); |
A MyMethod (A &_hiddenArg, B &var) { A retVal; retVal.A::A(); // retVal的构造函数 retVal.member = var.value + bar(var); _hiddenArg.A::A(retVal); // A的复制构造函数 return; retVal.A::~A(); // retVal的析构函数 } |
A MyMethod(A &_hiddenArg, B &var) { _hiddenArg.A::A(); _hiddenArg.member = var.value + bar(var); Return } |
#include <stdio.h> class RVO { public: RVO(){printf("I am in constructor\n");} RVO (const RVO& c_RVO) {printf ("I am in copy constructor\n");} ~RVO(){printf ("I am in destructor\n");} int mem_var; }; RVO MyMethod (int i) { RVO rvo; rvo.mem_var = i; return (rvo); } int main() { RVO rvo; rvo=MyMethod(5); } |
I am in constructor I am in constructor I am in copy constructor I am in destructor I am in destructor I am in destructor |
I am in constructor I am in constructor I am in destructor I am in destructor |
#include <stdio.h> class A { public: A() {printf ("A: I am in constructor\n");i = 1;} ~A() { printf ("A: I am in destructor\n"); i = 0;} A(const A& a) {printf ("A: I am in copy constructor\n"); i = a.i;} int i, x, w; }; class B { public: A a; B() { printf ("B: I am in constructor\n");} ~B() { printf ("B: I am in destructor\n");} B(const B& b) { printf ("B: I am in copy constructor\n");} }; A MyMethod() { B* b = new B(); A a = b->a; delete b; return (a); } int main() { A a; a = MyMethod(); } |
A: I am in constructor A: I am in constructor B: I am in constructor A: I am in copy constructor B: I am in destructor A: I am in destructor A: I am in copy constructor A: I am in destructor A: I am in destructor A: I am in destructor |
A: I am in constructor A: I am in constructor B: I am in constructor A: I am in copy constructor B: I am in destructor A: I am in destructor A: I am in destructor A: I am in destructor |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者