Find length of an array in C++ in 5 different ways

In this post, we will discuss how to find length of an array in C++.


In the previous post, we have seen how to find length of an array in C using sizeof operator and pointer arithmetic. This post provides an overview of some of the available alternatives to accomplish this in C++.


1. Template argument deduction

We know that an array decays into a pointer when passed to a function as an argument. To get the length of an array inside a function in C++, the recommended solution is template argument deduction as shown below:


Download   Run Code


2. C++11 – std::distance

Since C++11, we can use std::distance which takes iterators to the beginning and the end of an array and returns the number of hops between the two.


Download   Run Code


3. Using pointer arithmetic

Before C++11, we can use pointer arithmetic to do the same as shown below.


Download   Run Code


4. C++17 – std::size()

C++17 introduced the templated function std::size() in the <iterator> header which returns the number of elements in the given container or C-array.


Run Code


5. Using boost C++ library

Another good alternative is to use boost::size (or boost::distance) to get length of an array. It is preferable to use boost::size() over boost::distance().


Download   Run Code

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)


Thanks for reading.

Please use our online compiler to post code in comments. To contribute, get in touch with us.
Like us? Please spread the word and help us grow. Happy coding 🙂


Leave a Reply

Notify of