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"};
}

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

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...