Существуют ли потенциальные проблемы с назначением структур друг другу? - PullRequest
0 голосов
/ 18 января 2020

Если у меня просто есть простая структура, такая как следующая, где типы переменных-членов могут быть ЛЮБОГО встроенного типа или ранее созданные классы:

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? Есть ли случаи, когда я должен быть осторожен с такими заданиями?

1 Ответ

2 голосов
/ 18 января 2020

Объекты типа struct или class не являются специальными, в основном существуют те же предостережения, что и для других типов. Какие проблемы могут или не могут применяться, зависит от участников, потому что операция по умолчанию присваивания выполняет членское назначение. Если вам нужно другое поведение, вы всегда можете настроить его, предоставив свой собственный оператор присваивания.

...