copy-constructor 相关问题

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

在C ++中,为什么我们必须在复制构造函数中传递用户定义的数据类型作为引用,而在函数中传递引用,反之亦然?

#include 使用命名空间std;类Complex {private:int real; int img; public://构造函数Complex(int a = 0,int b = 0); //复制构造函数复合体(...

回答 2 投票 0

[C ++在包含复制构造函数时给出错误?

我是C ++的新手,我在阅读有关构造函数的知识,并编写了一个程序。下面是代码:#include 使用命名空间std;类Demo {public:int a;演示(int x,int ...

回答 2 投票 -1

抛出对象时,它是否被复制或移动了?

据我所知,默认情况下会复制抛出的对象。所以当我抛出一个对象时,应该调用拷贝构造函数。我也知道编译器可以优化并取消复制。我有一个...

回答 1 投票 0

我如何安全地复制收藏集?

过去,我曾说过要安全地复制集合,请执行以下操作:public static void doThing(List strs){List newStrs = new ArrayList <>(strs ;;或公共...

回答 1 投票 0

复制构造函数断言错误

我的副本构造函数由于断言错误而失败。这就是说队列的大小不正确,我不确定为什么。这是我的Queue类的代码:public class Queue ... ...>

回答 1 投票 1

C ++模板副本构造函数

在模板类的C ++模板副本构造函数中,我发现无法完成模板副本构造函数。我努力做到并设法成功。我认为这是因为包括了移动构造函数...

回答 1 投票 0

常量表达式中的模板化委派副本构造函数

这个问题是由这个问题引起的。考虑以下代码:struct B {};结构S {B b; //#1 S()=默认值;模板 //#2 constexpr S(const S&...

回答 1 投票 6

C ++中的复制构造函数和赋值运算符

[当我学习C ++的构造函数时,我想到了一些我很难完全理解的东西。一种是当我们没有为...

回答 1 投票 0

C ++-阐明何时以及如何调用析构函数

因此,我下面有一个完整的程序,该程序创建Book对象,对其进行初始化,并打印在程序执行过程中创建或销毁的所有构造函数/析构函数。我有...

回答 1 投票 0

复制构造函数和“无法调用非函数类型的值”错误

我有一个基类A和三个子类:类A {}类X:A {}类Y:A {}类Z:A {}在我的代码中,我有一个实例m我想创建一个相同类型的副本。我可以...

回答 1 投票 0

c ++中的副本分配的正确结构是什么?

我正在处理二进制搜索树数据结构,并且已经实现了复制语义。由于我想进行深层复制,因此我决定在复制内部创建一个新对象...

回答 1 投票 0

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

我是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

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