C++函数返回值为对象时构造析构函数的执行细节

紧急呼叫双鱼

紧急呼叫双鱼

2016-02-19 11:12

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐C++函数返回值为对象时构造析构函数的执行细节,赶紧看过来吧!

看如下代码:
代码如下:

#includeiostream
class TestConstructor
{
public:
    TestConstructor()
    {
        std::cout"TestConstructor()"std::endl;
    }
    ~TestConstructor()
    {
        std::cout"~TestConstructor()"std::endl;
    }
    TestConstructor(const TestConstructor& testObj)
    {
        std::cout"TestConstructor(const TestConstructor&)"std::endl;
    }
    TestConstructor& operator = (const TestConstructor& testObj)
    {
        std::cout"TestConstructor& operator = (const TestConstructor& testObj)"std::endl;
        return *this;
    }
};
TestConstructor testFunc()
{
    TestConstructor testInFunc;  //3、调用TestConstructor() 生成对象testInFunc
    return testInFunc;           //4、调用TestConstructor(const TestConstructor&) 生成临时对象
                                 //5、调用析构函数,析构对象testInFunc
}
int main()
{
    TestConstructor test;  //1、调用TestConstructor() 生成对象test
    test = testFunc();     //2、调用testFunc()    //6、调用等号把临时对象复制给对象test  //7、调用析构函数,析构临时对象
    return 0;              //8、调用析构函数,析构对象test
}

看输出:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

有注释,有输出。执行细节,一目了然了吧

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

C++函数返回值为对象时构造析构函数的执行细节

编程语言 网络编程
C++函数返回值为对象时构造析构函数的执行细节

C++面向对象编程入门:构造函数与析构函数

编程语言 网络编程
C++面向对象编程入门:构造函数与析构函数

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

c++面向对象的编程入门篇--类构造函数与析构函数

编程语言 网络编程
c++面向对象的编程入门篇--类构造函数与析构函数

C#中构造函数和析构函数的用法

编程语言 网络编程
C#中构造函数和析构函数的用法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

C++类对象的拷贝构造函数

C语言教程 C语言函数
C++类对象的拷贝构造函数

虚函数被类的构造析构函数和成员函数调用虚函数的执行过程

编程语言 网络编程
虚函数被类的构造析构函数和成员函数调用虚函数的执行过程

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

让Asp.NET的DataGrid可排序、可选择、可分页

让Asp.NET的DataGrid可排序、可选择、可分页

SQL2005 学习笔记 窗口函数(OVER)

SQL2005 学习笔记 窗口函数(OVER)
下拉加载更多内容 ↓