微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 明确N-ary构造函数?

在本演讲中: http://qtconference.kdab.com/sites/default/files/slides/mutz-dd-speed-up-your-qt-5-programs-using-c++11.pdf

作者建议N-ary构造函数受益于C 11版本的明确关键字.

如果您有多个构造函数参数,C 11中会发生哪些更改?

解决方法

在C 11中,如果您有一个具有多个参数的类A的非显式构造函数(这里我使用A :: A(std :: string,int,std :: string)作为示例),您可以初始化该类型的参数与括号初始化:
void foo(A a);
foo({"the",3,"parameters"});

类似地,您可以使用返回值执行相同操作:

A bar() {
  return {"the","parameters"};
}

但是,如果构造函数是显式的,那么这些将不会被编译.因此,显式关键字现在对于所有的构造函数都是重要的,而不仅仅是转换构造函数.

原文地址:https://www.jb51.cc/c/113336.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐