В С++ массивы не могут передаваться просто как параметры. Значение, если я создаю такую функцию:
void doSomething(char charArray[])
{
// if I want the array size
int size = sizeof(charArray);
// NO GOOD, will always get 4 (as in 4 bytes in the pointer)
}
У меня нет возможности узнать, насколько велик массив, так как у меня есть только указатель на массив.
В каком виде у меня есть, без изменения сигнатуры метода, чтобы получить размер массива и перебрать его данные?
EDIT: просто дополнение к решению. Если массив char, в частности, был инициализирован следующим образом:
char charArray[] = "i am a string";
то \0
уже добавлен в конец массива. В этом случае ответ (отмеченный как принятый) работает, как говорится.