c++ - C++ 的哪一部分创建了许多 "copies"对象?

标签 c++

虽然我主要开发 C++,但我不明白关于 C++ 的笑话。这是关于按值传递是默认行为并因此创建许多拷贝的笑话吗?或者是否有 C++ 的其他部分创造了这种声誉?

enter image description here

最佳答案

与其他 OO 语言相比,C++ 大量使用值语义。许多语言中的 Object B = A; 之类的代码会创建一个新引用,但不会创建一个新对象。我们称此为引用语义。在这些语言中,您必须编写类似 Object B = new Object(A) 的代码来制作拷贝。但是对于值语义,Object B = A; 实际上是一个拷贝。

第二个原因是 C++ 不使用垃圾回收。这意味着您经常需要一个对象的拷贝,以保证其生命周期。 (今天我们有 std::shared_ptr)

关于c++ - C++ 的哪一部分创建了许多 "copies"对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44255227/

相关文章:

c++ - 与复合物体的圆碰撞

c++ - 当文件描述符变坏时 QSocketNotifier 会发生什么?

c++ - 为什么在x86上除以3需要右移(以及其他奇数)?

c++ - 包含来自另一个目录的 header 时出现 Visual Studio 链接错误

c++ - GetCursorPos 工作正常但 GetPhysicalCursorPos "not declared in this scope"?

c++ - SystemC - 在 systemc 模拟中测量并包含文件解析时间

c++ - 通过引用分配对象,无需复制

c++ - 运算符+= 产生零

c++ - 根据不同的标准维护一组独特的元素 C++ STL

c++ - `weak_ptr::expired` 对象 dtor 中的行为