C++ initializer_list::size() Function



The C++ std::initializer_list::size() function is used to determine the number of elements in an initializer_list. An initializer_list is a special type that allows passing a list of values to a function or constructor. It returns the total count of the elements in the list as a size_t type, helps in handling elements without explicitly specifying their quantity.

Syntax

Following is the syntax for std::initializer_list::size() function.

size_t size() const noexcept;

Parameters

It does not accepts any parameters

Return value

This function returns the number of elements in the initializer_list.

Time complexity

The time complexity of this function is Constant i.e. O(1)

Example

In the following example, we are going to consider the basic usage of the size() function.

#include <iostream>
#include <initializer_list>
void x(std::initializer_list < int > a) {
   std::cout << "Result : " << a.size() << std::endl;
}
int main() {
   x({11,2,32});
   return 0;
}

Output

Output of the above code is as follows −

Result : 3

Example

Consider the following example, where we are going to use the size() with an empty initializer_list.

#include <iostream>
#include <initializer_list>
void a(std::initializer_list < int > x) {
   std::cout << "Result : " << x.size() << std::endl;
}
int main() {
   a({});
   return 0;
}

Output

Following is the output of the above code −

Result : 0

Example

Let's look at the following example, where we are going to add the elements based on the list size.

#include <iostream>
#include <initializer_list>
int a(std::initializer_list < int > x) {
   if (x.size() == 0) {
      return 0;
   }
   int y = 0;
   for (int value: x) {
      y += value;
   }
   return y;
}
int main() {
   std::cout << "Result : " << a({11,2,34}) << std::endl;
   std::cout << "Result : " << a({}) << std::endl;
   return 0;
}

Output

If we run the above code it will generate the following output −

Result : 47
Result : 0
cpp_initializer_list.htm