Функции C ++, возвращающие массивы
Я новичок в C ++. Я привык к программированию на Java. Эта конкретная проблема вызывает у меня большие проблемы, потому что C ++ не работает как Java, когда имеет дело с массивами. В C ++ массивы - это просто указатели.
Но почему этот код:
#include
#define SIZE 3
using namespace std;
void printArray(int*, int);
int * getArray();
int ctr = 0;
int main() {
int * array = getArray();
cout < endl < "Verifying 2" < endl;
for (ctr = 0; ctr < SIZE; ctr++)
cout < array[ctr] < endl;
printArray(array, SIZE);
return 0;
}
int * getArray() {
int a[] = {1, 2, 3};
cout < endl < "Verifying 1" < endl;
for (ctr = 0; ctr < SIZE; ctr++)
cout < a[ctr] < endl;
return a;
}
void printArray(int array[], int sizer) {
cout < endl < "Verifying 3" < endl;
int ctr = 0;
for (ctr = 0; ctr < sizer; ctr++) {
cout < array[ctr] < endl;
}
}