Выведите заданную матрицу в виде спирали, разделив матрицу на циклы


Инициализация array, где T - скалярный тип, а N - количество элементов типа T



бет4/7
Дата16.10.2023
өлшемі73,49 Kb.
#115868
1   2   3   4   5   6   7
Инициализация array, где T - скалярный тип, а N - количество элементов типа T
Если T является скалярным типом, std::array может быть инициализирован следующими способами:
// 1) Использование агрегатной инициализации
std::array a{ 0, 1, 2 };
// или эквивалентно
std::array a = { 0, 1, 2 };

// 2) Использование конструктора копирования


std::array a{ 0, 1, 2 };
std::array a2(a);
// или эквивалентно
std::array a2 = a;

// 3) Использование конструктора перемещения


std::array a = std::array{ 0, 1, 2 };


Инициализация array, где T - нескалярный тип, а N - количество элементов типа T
If T нескалярный тип std::array может быть инициализирован следующими способами:
struct A { int values[3]; }; // An aggregate type

// 1) Использование агрегатной инициализации с устранением скобок


// Это работает, только если T является агрегатным типом!
std::array a{ 0, 1, 2, 3, 4, 5 };
// или эквивалентно
std::array a = { 0, 1, 2, 3, 4, 5 };

// 2) Использование агрегатной инициализации с инициализацией скобок подэлементов


std::array a{ A{ 0, 1, 2 }, A{ 3, 4, 5 } };
// или эквивалентно
std::array a = { A{ 0, 1, 2 }, A{ 3, 4, 5 } };

// 3)
std::array a{{ { 0, 1, 2 }, { 3, 4, 5 } }};


// или эквивалентно
std::array a = {{ { 0, 1, 2 }, { 3, 4, 5 } }};

// 4) Использование конструктора копирования


std::array a{ 1, 2, 3 };
std::array a2(a);
// или эквивалентно
std::array a2 = a;

// 5) Использование конструктора перемещения


std::array a = std::array{ 0, 1, 2, 3, 4, 5 };
В отличие от стандартных фиксированных массивов, в std::array вы не можете пропустить (не указывать) длину массива:
std::array myarray = { 8, 6, 4, 1 }; // нельзя, должна быть указана длина массива
Также можно присваивать значения массиву с помощью списка инициализаторов:
std::array myarray;
myarray = { 0, 1, 2, 3 }; // ок
myarray = { 8, 6 }; // ок, элементам 2 и 3 присвоен нуль!
myarray = { 0, 1, 3, 5, 7, 9 }; // нельзя, слишком много элементов в списке инициализаторов!




Достарыңызбен бөлісу:
1   2   3   4   5   6   7




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет