Namespaces
Variants

std::initializer_list<T>:: initializer_list

From cppreference.net
Utilities library
initializer_list ( ) noexcept ;
(C++11부터)
(C++14부터 constexpr)

빈 초기화자 목록을 생성합니다.

목차

매개변수

(없음)

복잡도

상수

참고 사항

생성자가 부족함에도 불구하고, 비어 있지 않은 초기화자 목록을 생성하는 것이 가능합니다. std::initializer_list 인스턴스는 다음과 같은 경우에 암시적으로 생성됩니다:

예제

#include <initializer_list>
#include <iostream>
int main()
{
    std::initializer_list<int> empty_list;
    std::cout << "empty_list.size(): " << empty_list.size() << '\n';
    // 목록 초기화를 사용하여 initializer_list 생성
    std::initializer_list<int> digits{1, 2, 3, 4, 5};
    std::cout << "digits.size(): " << digits.size() << '\n';
    // auto에 대한 특별 규칙으로 인해 'fractions'의 타입은
    // std::initializer_list<double>이 됨
    auto fractions = {3.14159, 2.71828};
    std::cout << "fractions.size(): " << fractions.size() << '\n';
    // constexpr initializer_list 생성 (C++14부터)
    static constexpr auto ab = {'a', 'b'};
    static_assert(ab.size() == 2 and *ab.begin() == 'a');
}

출력:

empty_list.size(): 0
digits.size(): 5
fractions.size(): 2