Возможно ли иметь std :: list в качестве члена структуры в C ++?

Я опишу мой вопрос на примере. У меня есть структура Треугольник:

struct Triangle {
int perimeter;
double area;
list <mystruct> sides;
};

где mystruct находится:

struct mystruct {
int length;
}

Является ли это возможным? Есть ли проблемы, которые могут появиться?

0

Решение

Да, это возможно. На самом деле это состав. Вы можете использовать это так:

mystruct s;
s.length = 10;

Triangle t;
t.sides.push_back(s);

композиция объектов — это способ объединения простых объектов или типов данных.
в более сложные.

1

Другие решения

Совершенно никаких проблем.

std::list<> хорошо написано / реализовано и является копируемым (даже перемещаемым), конструируемым по умолчанию и т. д., так что вы можете использовать его в struct ничего не боясь.

0

Единственная существенная разница между struct а также class почти для всех целей это спецификатор доступа по умолчанию.

0
По вопросам рекламы [email protected]