gpt4 book ai didi

c++ - 私有(private)拷贝构造函数 : disallow

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:01:11 25 4
gpt4 key购买 nike

我在一个开源库中编程,该库在代码中几乎没有注释,而且绝对没有与代码相关的文档,或者此类注释完全没有显示任何内容或完全令人困惑。库的示例类有时定义如下(这是一个抽象的简短示例):

class A
{
private:

// Disallow default bitwise copy construct.
A (const A& Acopy) { data = Acopy.data; };

int data;

public:

A() {};

A (int arg) : data(arg) {};

A(const A& Acopy) { data = Acopy.data; };

};

private 复制构造函数前面的注释“Dissalow default bitwise copy construct”将指出这样一个事实,即当我定义一个类型时,我需要定义我自己的复制构造函数以避免一个被“由编译器含糊地为我生成”。这是我到目前为止在这个主题上学到的东西。但在这种情况下,构造函数是private,编译会以这种形式中断。

问:有这样的原因吗?私有(private)的复制构造函数?这个评论意味着什么?

托米斯拉夫

最佳答案

你说的差不多。通常,编译器会生成一个复制构造函数。为防止这种情况,您可以定义自己的,并将其设为私有(private)。然后任何复制构造类的尝试都将在编译时失败,而不是默默地做错事。

关于c++ - 私有(private)拷贝构造函数 : disallow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6303435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com