Maxpm Maxpm - 1 year ago 68
C++ Question

How do I find the length of an array?

Is there a way to find how many values an array has? Detecting whether or not I've reached the end of an array would also work.

Answer Source

If you mean a C-style array, then you can do something like:

int a[7];
std::cout << "Length of array = " << (sizeof(a)/sizeof(*a)) << std::endl;

This doesn't work on pointers, though, i.e. it won't work for either of the following:

int *p = new int[7];
std::cout << "Length of array = " << (sizeof(p)/sizeof(*p)) << std::endl;


void func(int *p)
    std::cout << "Length of array = " << (sizeof(p)/sizeof(*p)) << std::endl;

int a[7];

In C++, if you want this kind of behaviour, then you should be using a container class; probably std::vector.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download