明确构造函数 明确构造函数
发布时间
阅读量:
阅读量
1.问题起源与背景分析
在查阅Slicer源代码的过程中,遇到了被explicit关键字修饰的构造函数,对此感到较为困惑:
> explicit qSlicerIGSReaderModule(QObject *parent=0);
>
> ```
以下将对这一问题进行阐述。
## 2.关于构造函数的隐式转换
根据既定规则,**仅包含单一参数的构造函数同样会定义一种隐式转换机制**,该机制能够将与该构造函数相关联的数据类型转换为对应的类实例,具体示例如下:
1. class String {
2. String ( const char* p ); // 用C风格的字符串p作为初始化值 3. //… 4. } 5. String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”);
然而,在某些情况下,可能并不需要进行此类隐式转换,例如以下情形:
> 1. class String {
>
> 2. String ( int n ); //本意是预先分配n个字节给字符串
全部评论 (0)
还没有任何评论哟~
