
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ Array::size() Function
The C++ std::array::size() function is used to return the number of elements in a array container. The size is known at compile time, making the array more efficient. This function is useful for retrieving the exact number of elements in the array without need to manually track the size.
Syntax
Following is the syntax for std::array::size() function.
constexpr size_type size() noexcept;
Parameters
It does not accepts any parameter.
Return Value
It returns the number of elements in the array.
Exceptions
This function never throws exception.
Time complexity
Constant i.e. O(1)
Example 1
In the following example, we are going to consider the basic usage of the size() function.
#include <iostream> #include <array> int main() { std::array < int, 5 > arr = {1,3,5,7,9}; std::cout << "Size of array : " << arr.size() << std::endl; return 0; }
Output
Output of the above code is as follows −
Size of array : 5
Example 2
Consider the following example, where we are going to modify the array based on their index.
#include <iostream> #include <array> int main() { std::array < int, 4 > array = {0}; for (size_t a = 0; a < array.size(); ++a) { array[a] = a * 2; } for (size_t x = 0; x < array.size(); ++x) { std::cout << "array[" << x << "] = " << array[x] << std::endl; } return 0; }
Output
Following is the output of the above code −
array[0] = 0 array[1] = 2 array[2] = 4 array[3] = 6
Example 3
Let's look at the following example, where we are going to compare the two arrays.
#include <iostream> #include <array> int main() { std::array < int, 4 > x = {1,2,3,4}; std::array < int, 2 > y = {2,4}; if (x.size() < y.size()) { std::cout << "x is smaller than y" << std::endl; } else { std::cout << "x is greater than y" << std::endl; } return 0; }
Output
If we run the above code it will generate the following output −
x is greater than y