copy-constructor 相关问题

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

当我们通过值将对象作为参数传递给方法时,为什么调用复制构造函数

我是C ++编程的新手,在执行某些C ++程序时,我有一个疑问,那就是为什么当我将一个对象作为值作为参数传递给函数时,调用复制构造函数的原因。请参阅我的...

回答 3 投票 13

std :: is_copy_constructable for std :: vector

我最近阅读了这篇博客文章,介绍了为什么必须无条件地复制vector以便可以支持不完整的类型。我了解从逻辑角度来看也是必须的,因为...

回答 1 投票 2

隐式移动与复制操作和控制

当类的成员未定义其移动操作时,我正在努力理解隐式移动操作:int main(){struct A //不移动:move =复制{A()=默认值; ...

回答 1 投票 2

C ++-错误:尚未声明类/超出范围

所以我有两个类-Dvd和DvdGroup。 DvdGroup基本上管理着dvd数组,并为该类提供操纵成员函数。问题是每当我尝试编译DvdGroup.cc ...

回答 1 投票 0

将值分配给引用类型会导致执行复制构造函数

我有此代码:#include #include #include class Y {public:Y()= default; Y(const Y&)=删除; }; Z类{public:Z()= default; ...

回答 1 投票 0

使用移动和复制语义时功能匹配如何工作?

我对“移动”语义有些含糊:我读到的是,如果类定义了自己的复制控件之一,则将移动构造函数或赋值隐式定义为已删除的函数...]]

回答 1 投票 0

这意味着移动操作从未定义为已删除的函数

我正在阅读C ++入门5版。直到第13章讨论“移动操作”时:与复制操作不同,移动操作永远不会隐式定义为已删除函数。但是,如果...

回答 1 投票 0

复制构造函数隐式转换问题

部分答案在此处给出foo1类{private:int i;公开:foo1(){i = 2; } int geti(){return i; };类...

回答 1 投票 0

如何从构造函数副本T(const T&)调用对象T?

我有一个副本构造函数T :: T(const T&)。该对象具有两个属性,例如颜色和高度。这意味着我需要将参数中对象的颜色和高度分配给我的对象。 ...

回答 2 投票 -3

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

为什么不链接复制构造函数(例如默认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

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