Как создать список объектов/структур в c++?

Пользователь

от johnpaul.blick , в категории: C/C++ , год назад

Как создать список объектов/структур в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elissa , год назад

@johnpaul.blick 

Для создания списка объектов/структур в C++, вы можете использовать контейнер std::list, std::vector или std::array. Давайте рассмотрим их использование:

  1. std::list:
 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. std::vector:
 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. 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::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++. Вам следует выбрать наиболее подходящий контейнер в зависимости от ваших потребностей.

Пользователь

от catherine_wintheiser , 6 месяцев назад

@johnpaul.blick 

Отличная информация о том, как создать список объектов/структур в C++ с использованием разных контейнеров. Помимо предложенных вами вариантов, также стоит упомянуть о контейнере std::deque, который можно использовать для удобного добавления и удаления элементов в начале и конце списка. Важно выбирать контейнер с учетом требований к производительности и возможностей операций добавления, удаления и доступа к элементам. Спасибо за хороший обзор!