我正在阅读 C++ 中的复制构造函数
有人提到,使用按值调用传递对象并按值返回构造一个用户永远看不到的临时对象。我的理解是,例如当我们通过 val 调用时
myclass b;
void myfunc(myclass c) {} //c(b) copy constructor is called.
在哪里创建临时对象?
谢谢!
最佳答案
拷贝是在 myfunc()
的函数范围内创建的。也就是说,c
在整个函数的范围内,包括(并且略大于)函数体。当函数返回时,即在 myfunc(b);
的分号处销毁拷贝。
关于c++ - 在复制构造函数中创建临时对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7555195/