为什么复制构造函数和复制分配运算符调用“memcpy”,而移动 ctor 和移动分配运算符调用“memmove”
作者:John 提问时间:6/5/2020
作为主题,下面列出了相关代码。您可以在 https://godbolt.org/z/mAbmwJ 上检查它。 我完全理解 和 之间的区别,但我不明白它背后的原因。代码引用自一个著名的开源项目,我不会...
复制构 问答列表
作者:John 提问时间:6/5/2020
作为主题,下面列出了相关代码。您可以在 https://godbolt.org/z/mAbmwJ 上检查它。 我完全理解 和 之间的区别,但我不明白它背后的原因。代码引用自一个著名的开源项目,我不会...
作者: 提问时间:4/23/2013
内存管理:字符数组和 = 运算符 Q.在内存管理方面,以下代码会有什么错误? class String { public: String(const char right[]); String...
作者:sunshilong369 提问时间:5/30/2020
如下面的代码所示,复制赋值运算符必须检查输入对象是否指向自身。我想知道为什么复制构造函数不需要做同样的检查。 我是C++新手。如果能在这个问题上得到一些帮助,我将不胜感激。 class rule...
作者:Nikesh Subedi 提问时间:9/7/2022
我有以下程序,我在其中测试构造函数和析构函数调用的顺序,我对输出感到惊讶。 #include <iostream> #include <utility> class Doctor { publ...
作者:Venci 提问时间:10/17/2021
我试图避免复制 和 .但是当我尝试这样做时,我发现自己得到了 3 份副本,原因我真的无法理解。 实际上有助于避免复制,但实际上对它没有任何作用(与本例的工作方式相同)。代码如下:emplace_bac...
作者:roy.atlas 提问时间:6/22/2022
我需要一个函数,该函数将shared_ptr返回到包含大量对象的向量。下面的代码实现了这一点,但可以看到复制构造函数被调用了额外的次数。 #include <iostream> #include <...
作者:Rituraj Dutta 提问时间:7/21/2020
我是运算符重载概念的新手,我刚刚实现了一个程序,使用类使赋值运算符重载。这是我实现的代码: #include<iostream> using namespace std; class Test{...
作者:KSky 提问时间:3/4/2021
指示: 使用以下类变量定义 Person 类:字符串 firstName、lastName 和 address。默认构造函数应将它们全部设置为空字符串。它应该有每个变量的 setter 和 gett...
作者:CSstudZ 提问时间:12/13/2019
据我了解,当对象在方法中按值传递时,会调用复制构造函数。 因此,如果我实现自己的复制构造函数,有没有办法在方法中按值传递对象时避免切片? 例: // in headers file // for...
作者:Mark 提问时间:2/9/2022
我正在编写一个在 Ubuntu 20.04 中运行的 Qt 6.2.0 应用程序。 我的目标是将属性添加到现有类中。 所以我写道:QtOpcUaNode class MyOpcUaNode : pu...