sizeof... operator (since C++11) - cppreference.com (original) (raw)

Queries the number of elements in a pack.

[edit] Syntax

| | | | | ------------------------- | | | | sizeof...( pack ) | | | | | | |

Returns a constant of type std::size_t.

[edit] Explanation

Returns the number of elements in a pack.

[edit] Keywords

sizeof

[edit] Example

#include #include #include   template<typename... Ts> constexpr auto make_array(Ts&&... ts) { using CT = std::common_type_t<Ts...>; return std::array<CT, sizeof...(Ts)>{std::forward(ts)...}; }   int main() { std::array<double, 4ul> arr = make_array(1, 2.71f, 3.14, '*'); std::cout << "arr = { "; for (auto s{arr.size()}; double elem : arr) std::cout << elem << (--s ? ", " : " "); std::cout << "}\n"; }

Output:

arr = { 1, 2.71, 3.14, 42 }

[edit] See also