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

前端之家收集整理的这篇文章主要介绍了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.f2er.com/c/113336.html

猜你在找的C&C++相关文章