table of contents
        
      
      
    | std::initializer_list::initializer_list(3) | C++ Standard Libary | std::initializer_list::initializer_list(3) | 
NAME¶
std::initializer_list::initializer_list - std::initializer_list::initializer_list
Synopsis¶
 initializer_list() noexcept; (since C++11)
  
   (until C++14)
  
   constexpr initializer_list() noexcept; (since C++14)
  
   Constructs an empty initializer list.
Parameters¶
(none)
Complexity¶
Constant
Example¶
// Run this code
  
   #include <iostream>
  
   #include <initializer_list>
  
   int main()
  
   {
  
   std::initializer_list<int> empty_list;
  
   std::cout << "empty_list.size(): " << empty_list.size()
    << '\n';
  
   // create initializer lists using list-initialization
  
   std::initializer_list<int> digits {1, 2, 3, 4, 5};
  
   std::cout << "digits.size(): " << digits.size()
    << '\n';
  
   // special rule for auto means 'fractions' has the
  
   // type std::initializer_list<double>
  
   auto fractions = {3.14159, 2.71828};
  
   std::cout << "fractions.size(): " << fractions.size()
    << '\n';
  
   }
Output:¶
 empty_list.size(): 0
  
   digits.size(): 5
  
   fractions.size(): 2
Notes¶
 Despite a lack of constructors, it is possible to create
    non-empty initializer
  
   lists. Instances of std::initializer_list are implicitly constructed
  when:
  
   * a braced-init-list is used in list-initialization, including function-call
    list
  
   initialization and assignment expressions (not to be confused with
    constructor
  
   initializer lists)
  
   * a braced-init-list is bound to auto, including in a ranged for loop
| 2022.07.31 | http://cppreference.com |