对内置类型和用户自定义类型提供同等支持。
不存在特权类型或限定(其他语言则不,这是C++的独特性之一)。
• 任何类型的实例都同时具有值语义和引用语义:
• 值语义:对象以值的方式直接存储,传参、返回值、拷贝等。
• 引用语义:对象以指针或引用的方式间接存储,参数、返回值、拷贝传递的是指针或引用。
• 值语义有很多好处:没有悬浮指针/引用,没有昂贵的释放操作,没有内存泄漏,没有数据竞争…… 但是值语义大对象拷贝代价高昂,不能支持虚函数多态,不能维持对象全局唯一性……
对内置类型和用户自定义类型提供同等支持。
不存在特权类型或限定(其他语言则不,这是C++的独特性之一)。
• 任何类型的实例都同时具有值语义和引用语义:
• 值语义:对象以值的方式直接存储,传参、返回值、拷贝等。
• 引用语义:对象以指针或引用的方式间接存储,参数、返回值、拷贝传递的是指针或引用。
• 值语义有很多好处:没有悬浮指针/引用,没有昂贵的释放操作,没有内存泄漏,没有数据竞争…… 但是值语义大对象拷贝代价高昂,不能支持虚函数多态,不能维持对象全局唯一性……