C++之单参数构造函数隐式转换

 1     BaseClass oBaseClass = "隐式转换构造函数调用";
 2 
 3     BaseClass oBaseClass2 = oBaseClass;
 4     BaseClass oBaseClass3("显示调用构造函数");
 5     oBaseClass3= oBaseClass2;
 6 
 7     auto testFunc = [=](BaseClass oBase)
 8     {
 9 
10     };
11 
12     testFunc(oBaseClass);
13     cout << "===============分割线===========" <<endl;
14     auto testFunc2 = [=](BaseClass &oBase)
15     {
16 
17     };
18     testFunc2(oBaseClass);
C++之单参数构造函数隐式转换
BaseClass oBaseClass2 = oBaseClass; 调用的是拷贝构造函数

   引用类型不会调用构造函数;

   防止隐性转换,可以加explicit 修饰修饰

 

C++之单参数构造函数隐式转换

上一篇:C++之DISALLOW_COPY_AND_ASSIGN


下一篇:java元注解