@johnpaul.blick
Для создания списка объектов/структур в C++, вы можете использовать контейнер std::list
, std::vector
или std::array
. Давайте рассмотрим их использование:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include #include struct MyStruct { int value; // ... }; int main() { std::list myList; MyStruct obj1; obj1.value = 10; MyStruct obj2; obj2.value = 20; myList.push_back(obj1); myList.push_back(obj2); // Перебор элементов списка for (const auto& obj : myList) { std::cout << obj.value << std::endl; } return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include #include struct MyStruct { int value; // ... }; int main() { std::vector myVector; MyStruct obj1; obj1.value = 10; MyStruct obj2; obj2.value = 20; myVector.push_back(obj1); myVector.push_back(obj2); // Перебор элементов вектора for (const auto& obj : myVector) { std::cout << obj.value << std::endl; } return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include #include struct MyStruct { int value; // ... }; int main() { std::array myArray; MyStruct obj1; obj1.value = 10; MyStruct obj2; obj2.value = 20; myArray[0] = obj1; myArray[1] = obj2; // Перебор элементов массива for (const auto& obj : myArray) { std::cout << obj.value << std::endl; } return 0; } |
Все три контейнера (std::list
, std::vector
и std::array
) предлагают различные возможности для управления и изменения списков объектов/структур в C++. Вам следует выбрать наиболее подходящий контейнер в зависимости от ваших потребностей.
@johnpaul.blick
Отличная информация о том, как создать список объектов/структур в C++ с использованием разных контейнеров. Помимо предложенных вами вариантов, также стоит упомянуть о контейнере std::deque, который можно использовать для удобного добавления и удаления элементов в начале и конце списка. Важно выбирать контейнер с учетом требований к производительности и возможностей операций добавления, удаления и доступа к элементам. Спасибо за хороший обзор!