问题标签 [copy-constructor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2119 浏览

c++ - 具有默认参数的复制构造函数

据我所知,复制构造函数的形式必须是T(const T&)or T(T&)。如果我想在签名中添加默认参数怎么办?

那会符合标准吗?

0 投票
3 回答
679 浏览

c++ - C++ 中的复制构造函数

我有这个代码

输出:

为什么这里不调用复制构造函数?

0 投票
3 回答
4665 浏览

c++ - 构造函数或赋值运算符

你能帮我在 C++ 标准中有定义,描述在这种情况下哪个将被称为构造函数或赋值运算符:

还是只是编译器优化的问题?

0 投票
2 回答
12031 浏览

c++ - QObject 克隆

我知道 Qobjects 应该是身份而不是值,例如,您不能复制它们,并且默认情况下,复制构造函数和赋值被禁用,如 qt 文档中所述。但是是否可以使用克隆方法从现有的 QObject 中创建一个新的 QObject?这会是逻辑错误吗?如果我说

或者

并且克隆方法会复制成员等内容,这是错误的吗?

如果可以,我可以编写自己的复制构造函数和赋值运算符吗?

注意:我实际上想尝试使用继承 qobject 的类。

0 投票
2 回答
1320 浏览

c++ - CArray 不会在内存重新分配时调用复制构造函数,现在怎么办?

假设我有一个类需要调用复制构造函数来制作正确的副本:

现在的问题是 CArray 在重新分配内存时不会在其元素上调用复制构造函数(只有从旧内存到新内存的 memcpy),例如这段代码

结果是

我不明白这个。为什么 std::vector 可以正确复制相同的对象而 CArray 不能?这里有什么教训?我应该只使用不需要显式复制构造函数的类吗?或者将 CArray 用于任何严重的事情是一个坏主意?

0 投票
2 回答
2507 浏览

c++ - c++ STL向量不接受复制构造函数

我写了一个代码(c++,visual studio 2010),它有一个向量,即使我声明了 copy const,但仍然显示没有声明 copy const

这里的代码

我得到的错误是

错误 1 ​​错误 C2558:类“A”:没有可用的复制构造函数或复制构造函数被声明为“显式”c:\program files\microsoft visual studio 10.0\vc\include\xmemory 48 1 delete

任何人请帮助我

0 投票
2 回答
1240 浏览

c++ - 在 C++ 中,当你返回一个变量时会发生什么?

当返回一个变量时,一步一步会发生什么。我知道如果它是内置的并且适合,它会被扔进 rax/eax/ax。当它不适合和/或不是内置的时会发生什么?更重要的是,是否有保证的复制构造函数调用?

编辑:析构函数呢?这叫“有时”、“总是”还是“从不”?

0 投票
1 回答
2837 浏览

c++ - 可变参数构造函数是否应该隐藏隐式生成的构造函数?

可变参数构造函数是否应该隐藏隐式生成的构造函数,即默认构造函数和复制构造函数?

不知何故,我希望在阅读此答案后不会打印任何内容,但它会inside the variadic constructor在 g++ 4.5.0 上打印两次 :( 这种行为正确吗?


在没有可变参数模板的情况下也会发生这种情况:

同样,两行都被打印出来。

0 投票
3 回答
7568 浏览

c++ - 析构函数和复制构造函数调用..(为什么在这些时候调用它)

我有以下代码

哪个输出

我对此有一些问题,首先为什么要Object v4 = v1;调用复制构造函数并Copy-construct(1)在打印( b ).

同样在复制构造函数的打印( c )再次被调用两次之后?,我不确定这个函数是如何产生的 Object func(Object var) { return var; }

并且在 打印Destruct(1)之前被调用两次。( d )

抱歉,这个问题很长,我对上述内容感到困惑。

0 投票
6 回答
315 浏览

c++ - 复制构造函数演示(崩溃...案例2)

请看一下这个程序:

该程序在执行时崩溃。错误:“表达式:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)”

如果我使用 aasignment 运算符将“Hai”分配给名称,它就会崩溃。当我使用 string func _tcscpy 将“Hai”分配给名称时,它工作得很好。有人可以解释为什么会这样吗?