C++ Присвоить значения из массива множеству переменных по порядку

У меня 150 переменных, в которые необходимо присвоить по порядку значения из массива.

В голову лезет только это:

#include <iostream>

using namespace std;

int main()
{
    int a, b, c;
    
    int array[3] = {1, 2, 3};
    
    for (int i = 0; i < 3; i++) {
        a = array[i];
        b = array[i];
        c = array[i];
    }
    
    std::cout << a << " " << b << " " << c;

    return 0;
}

Но результат очевиден: "3 3 3"

А хотелось бы видеть это: "1 2 3"

Как можно решить данную проблему? Подойдёт любой грамотный способ


Ответы (2 шт):

Автор решения: Eugene X

Вариант конечно извращённый но рабочий.

#include <stdio.h>
#include <string.h>

struct ABC {
    int a;
    int b;
    int c;
};

int main()
{
    struct ABC set;
    int array[3] = {1, 2, 3};
    memcpy(&set, &array[0], sizeof(set));
    printf("%d %d %d\n", set.a, set.b, set.c); // out: 1 2 3
    return 0;
}
→ Ссылка
Автор решения: HolyBlackCat

Что-то я сомневаюсь, что вам на самом деле нужно столько переменных, но просили - получите:

#include <array>
#include <iostream>
#include <utility>

int main()
{    
    int arr[3] = {1, 2, 3};
    auto &[a, b, c] = arr;
    std::cout << a << b << c << '\n';

    return 0;
}

Хотя, технически это не переменные...

→ Ссылка