copy-constructor 相关问题

复制构造函数是一个构造函数,它创建一个新对象,它是现有对象的克隆。该术语主要用于C ++编程语言,其中复制构造函数具有特殊状态。

为什么复制构造函数不会像默认构造函数和析构函数一样“链接”?

为什么不链接复制构造函数(例如默认ctor或dtor),以便在派生类的复制构造函数被调用之前,基类的复制构造函数被调用?使用默认构造函数...

回答 3 投票 19

通过移动分配运算符强制复制分配

假设我有一个同时定义了复制和移动分配运算符的对象。当我写这篇文章时:对象a(/ *参数1 * /); / *一些代码* / a = Object(/ * parameters 2 * /);第三行将最...

回答 1 投票 1

聚合初始化和已删除副本构造函数,也称为字段不可复制对象

有没有一种方法可以在vector以下进行初始化?结构测试{std :: atomic_bool is_enabled;年龄;}; int main(){std :: vector tests {Test {false,42},Test {true,77}}; ...

回答 1 投票 1

对于复制构造函数使用ArrayList(Collection扩展E> c)时,出现两个错误

public ListArrayListBased(ListArrayListBased var){项目=新的ArrayList (ArrayList(ListArrayListBased var))); }使用以下代码行...

回答 1 投票 0

如何在没有复制构造函数的情况下为地图设置值?

必须将不可复制类的实例填充到映射中。例如,使用以下代码:#include class NoCopyClass {public:NoCopyClass(){}; NoCopyClass(int值){...

回答 2 投票 2

为对象指针实现复制构造函数和运算符的正确方法是什么

我正在尝试为Next和Prev对象指针做一个复制构造函数和赋值运算符,但是,当我尝试复制时,我没有得到正确的数据。我不确定是否实现了这个错误。 ...

回答 2 投票 0

我如何在使用右值作为对象的同时适当地调用复制构造函数?

[这里,我尝试使用push_back函数和该对象的右值将一个对象推入向量。查看#include“ Movies.h”下面的Movies类的addMovie()函数。Movies :: ...

回答 1 投票 1

[在C ++中使用带字符串的复制构造函数和/或赋值运算符时的堆栈溢出

我试图在我自己制作的简单类上运行插入排序,该类具有几个字段(int,float和string)以及复制构造函数,赋值运算符和'>'运算符。 ...

回答 1 投票 0

constexpr和可变成员和隐式副本ctor

下面的代码在clang 7+中编译,但在5&6中不编译(使用c ++ 17和c ++ 14)。 c 5和6的问题似乎是隐式副本ctor从可变成员x读取。可以...

回答 2 投票 4

为什么以及何时删除副本构造函数和运算符=

作为C ++的新手,我想知道为什么显式地'禁用'或删除类的=运算符并复制构造函数是有用的:SomeClass&operator =(SomeClass&)= delete; SomeClass(SomeClass&...

回答 2 投票 2

Class(const Class&c)和Class(Class&c)之间有什么区别?

我想知道C ++中Class(const Class&c)构造函数与Class(Class&c)构造函数之间的区别。 class Class {public:Class(){cout <

回答 2 投票 -1

未定义的新运算符如何导致C ++中的未定义行为?

这里有一个C ++代码:#include #include #include #include 使用命名空间std;类Person {私人:int年; ...

回答 1 投票 -1

您如何对对象执行深层复制?您如何制作副本构造函数?

#include class Piece {public:virtual char get()= 0;虚拟〜Piece(){}; };第一类:public Piece {public:char get(){return'1'; };类...

回答 1 投票 -1

在C ++中,可以在定义自己的副本构造函数之后跳过定义赋值运算符吗?

定义类时,如果需要深度复制,则需要定义自己的复制构造函数。然后,是否也需要定义赋值运算符?如果被跳过,分配会做得很浅吗...

回答 1 投票 0


函数f在做什么?

这是我要弄清楚的代码,在我调用以下构造函数或函数调用之后,该功能实际上正在做什么:a(o1); o2(o1); o1.f(o1); A类...

回答 1 投票 0

为什么要(可能)复制C ++异常

从这个答案和类似的页面中,我了解到异常可能在引发过程中被复制。我还了解到,此复制不得引发任何其他异常,否则...

回答 1 投票 0

在复制构造函数C ++中获得未定义的引用

你好,我试图用C ++创建一个简单的程序,我在链接文件时遇到问题。错误是在类中对我的副本构造函数的未定义引用。我检查了链接,但无法...

回答 1 投票 0

std :: allocator_traits :: construct调用错误的构造函数

出于Haskell的动机,我试图像这样实现std :: forward_list:名称空间std {模板 >类forward_list {类型名...

回答 1 投票 0

为什么unique_ptr有效,但auto_ptr不适用于STL

我在这些问题上提到了很多StackOverflow链接,其中auto_ptr与STL不能很好地配合的原因是std :: auto_ptr <>不能满足被复制的要求...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.