C++隐式的类类型转换,explicit关键字介绍。
2017-10-15 16:32
344 查看
C++隐式的类类型转换,explicit关键字介绍。
C++中存在转换构造函数机制,可通过一个实参调用的构造函数定义一条从构造函数的参数类型向类类型隐式转换的规则。但需要注意的一点是编译器只会自动执行一步类型转换,多于一步时,编译器会报错。
在要求隐式转换的程序上下文中,可通过将构造函数声明为explicit加以阻止。关键字explicit只对一个实参的构造函数有效,需要多个实参的构造函数不能用于执行隐式转换,所以无需将这些构造函数声明为explicit。
explicit关键字智能出现在类内构造函数声明处,而不能出现在类外的构造函数定义处。
C++中存在转换构造函数机制,可通过一个实参调用的构造函数定义一条从构造函数的参数类型向类类型隐式转换的规则。但需要注意的一点是编译器只会自动执行一步类型转换,多于一步时,编译器会报错。
在要求隐式转换的程序上下文中,可通过将构造函数声明为explicit加以阻止。关键字explicit只对一个实参的构造函数有效,需要多个实参的构造函数不能用于执行隐式转换,所以无需将这些构造函数声明为explicit。
explicit关键字智能出现在类内构造函数声明处,而不能出现在类外的构造函数定义处。
相关文章推荐
- C++的类类型隐式转换与explicit关键字
- c++中的explicit关键字及隐式类型转换
- c++中的explicit关键字及隐式类型转换
- 【C++】隐式类型转换和 explicit关键字
- C++ 隐式类型转换与关键字explicit
- 从Qt谈到C++(一):关键字explicit与隐式类型转换
- c++中的explicit关键字及隐式类型转换
- c++的转换构造函数和杜绝隐式类型转换的explicit关键字
- c++中的explicit关键字及隐式类型转换
- c++中的explicit关键字及隐式类型转换
- C++ 隐式类型转换与关键字explicit
- 【c++】explicit 隐式类类型转换
- C++中的explicit关键字 抑制隐式转换构造
- c++隐式类型转换和explicit
- C++12.4.4 隐式类类型转换----explicit
- c\c++复习基础要点09---关键字explicit c++四种类型转换
- 隐式类型转换和explicit关键字的作用
- explicit:C++规定,当定义了只有一个参数的构造函数时,同时也定义了一种隐式的类型转换
- C++ explicit关键字(隐式转换)
- 隐式类型转换和explicit关键字的作用