您的位置:首页 > 编程语言 > C语言/C++

C++没有所谓的"赋值构造函数"

2015-10-10 09:22 183 查看
    发现蛮多C++
coder存在一个误会:"string str2 = str1;" 调用赋值构造函数。"string str2(str1);"
调用拷贝构造函数。

   
但其实C++有拷贝构造函数(有人叫复制构造函数),有赋值运算符重载,但没有赋值构造函数!

    "string str2
= str1;" 和 "string str2(str1);"效果完全一样,都是调用拷贝构造函数。

    "string
str3; str3 = str1;",第一句调用构造函数,第二句调用赋值运算符。

   

    
ps:个人觉得蛮bt的,也是C++语法细节特别多的一个佐证。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: