Шаг 429.
Библиотека STL.
Числовые типы. Создание массивов значений

    На этом шаге мы рассмотрим способы создания массивов значений.

    При создании массива значений количество элементов обычно передается в параметре конструктора:

  std::valarray<int> val(10);  // Массив из десяти нулевых элементов int 
  std::valarray<f1oat> val2(5.7,10); // Массив из десяти элементов float,
                                     // равных 5.7 (обратите внимание на порядок!)

    Если конструктор вызывается с одним аргументом, передаваемое значение интерпретируется как размер массива. Элементы инициализируются конструктором по умолчанию для типа элемента; базовые типы инициализируются нулями (инициализация базовых типов конструктором по умолчанию рассматривается на 34 шаге). Если при вызове конструктора передаются два аргумента, то первый определяет начальное значение, а второй - количество элементов. Такой порядок передачи двух аргументов конструктору отличается от остальных классов стандартной библиотеки C++. Во всех контейнерах STL первый числовой аргумент определяет количество элементов, а второй - их исходное значение.

    Массив значений также можно инициализировать обычным массивом:

  int агтау[] = { 3, 6, 18, 3, 22 };

  // Инициализация массива значений элементами обычного массива: 
  std::valarray<int> va3(array,sizeof(array)/sizeof(array[0]));

  // Инициализация элементами массива со второго по четвертый 
  std::valarray<int> va4(array+1,3);

    Массив значений создает копии передаваемых данных, поэтому для инициализации могут использоваться временные данные.

    На следующем шаге мы рассмотрим операции с массивами значений.




Предыдущий шаг Содержание Следующий шаг