在似乎是有意的设计决策中,C++对于对象和引用没有空值。这使得使用对象和引用非常优雅,因为我们不需要执行空检查。它还意味着构造函数必须始终返回一个对象: // o is guaranteed to be non-null by c++:
Object o = new由于C++不允许这样做,程序员已经开发了替代方法:初始化方法(具有不同名称)、静态构建器方法、不使用任何多态性的“工厂”以及空对象。添加异常的
它可以用作OOP结构。在这些年的编程中,我从来没有像使用类或结构那样使用联合作为OOP构造。作为OOP结构(不仅仅是数据类型)的Union有什么实际用途吗?或者它只是语言中一些没有用的残余部分?
该标准明确允许联合充当OOP构造。它允许在工会中行使会员职能。doSomething(){}
{ int i = obj.a;