鱼C论坛

 找回密码
 立即注册
查看: 1547|回复: 3

[已解决]请问 下面 2种 给 string 对象赋值的 方法的 区别

[复制链接]
发表于 2019-6-1 11:29:19 | 显示全部楼层 |阅读模式
10鱼币
//将 "Hi.\n" 赋值 给 a
string a="Hi.\n";

//将 "Hi.\n" 赋值 给 a
string a("Hi.\n");

我知道 写法 不同,还有别的吗?
谢谢
最佳答案
2019-6-1 11:29:20
如果是stdlib里的string,那么没有区别
string a("Hi.\n")这种用法算是显示调用构造函数,如果构造函数里有explicit关键字,那么只能用string a("Hi.\n")而不能用string a="Hi.\n";

最佳答案

查看完整内容

如果是stdlib里的string,那么没有区别 string a("Hi.\n")这种用法算是显示调用构造函数,如果构造函数里有explicit关键字,那么只能用string a("Hi.\n")而不能用string a="Hi.\n";
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-1 11:29:20 | 显示全部楼层    本楼为最佳答案   
如果是stdlib里的string,那么没有区别
string a("Hi.\n")这种用法算是显示调用构造函数,如果构造函数里有explicit关键字,那么只能用string a("Hi.\n")而不能用string a="Hi.\n";
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-1 18:26:50 | 显示全部楼层
没有区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-1 20:06:14 | 显示全部楼层
string a("Hi.\n")这种用法调用构造函数,而string a="Hi.\n";是拷贝初始化,只能说初始化的方式不同吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-3 19:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表