【问题标题】:Are there potential issues with assigning structures to one another?相互分配结构是否存在潜在问题?
【发布时间】:2020-01-18 07:15:47
【问题描述】:

如果我只有一个简单的结构,如下所示,其中成员变量的类型可以是任何内置类型或以前创建的类:

using TypeA = ..sometype1;
using TypeB = ..sometype2;

struct Relation{
    TypeA A;
    TypeB B;
};

int main(){
    Relation x;
    Relation y;
    ...some code doing stuff to x and y..
    x=y;
    ...some more code...
}

这是否总是编译并执行 预期任务,这意味着它只能完成一项可能的任务,即将 y 中的确切数据分配给 x?在某些情况下我必须小心处理此类作业?

【问题讨论】:

  • 请注意隐藏间接的usings

标签: c++ struct assign


【解决方案1】:

structclass 类型的对象并不特殊,基本上与其他类型存在相同的警告。哪些问题可能适用或可能不适用取决于成员,因为默认分配操作操作会按成员分配。如果您需要不同的行为,您始终可以通过提供自己的赋值运算符来自定义它。

【讨论】:

  • 我是否可以通过在类中创建复制构造函数和赋值运算符来自定义它?
猜你喜欢
  • 2014-04-24
  • 1970-01-01
  • 2011-04-11
  • 1970-01-01
  • 2015-12-07
  • 1970-01-01
  • 2018-08-10
  • 1970-01-01
  • 2016-05-06
相关资源
最近更新 更多