C++: Makro zur Bestimmung der Arraylänge definieren

Da es in C++ nicht ganz so komfortable möglich ist die Länge eines Arrays über die aus Java bekannte und beliebte Methode length() abzufragen, können wir uns aber trotzdem etwas Tipparbeit sparen und uns folgendes Makro definieren:

#define arr_size(x) sizeof(x)/sizeof(x[0])

Im Hauptprogramm lässt sich das dann so verwenden:

// Pointer_Vektoren.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include 

#define arr_size(x) sizeof(x)/sizeof(x[0])

using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
	int arr[] = {1,3,5,7,9,11,13,15,17,19,21};
	int *ptr = arr;

	cout <<"Groesse: " << sizeof(arr)/sizeof(ptr) << endl;
	cout << "Methode: " << arr_size(arr) << endl;
	return 0;
}

Ansonsten könnte man sich auch jedesmal die Länge mit int length = sizeof(x)/sizeof(x[0]) ermitteln, aber einfach nur arr_size(array) schreibe geht doch etwas schneller 😉

Viel Spaß damit.