123456789101112
void foo() { int a[ 10 ]; for (int i = 0; i < sizeof( a ) / sizeof( int ); i++) a[ i ] = i; } int main() { foo(); // a[] doesn't exist here }
12345678910111213
int a[ 10 ]; void foo() { for (int i = 0; i < sizeof( a ) / sizeof( int ); i++) a[ i ] = i; } int main() { foo(); std::cout << a[ 7 ] << std::endl; }
int *foo() { int *result = new int[ 10 ]; for (int i = 0; i < 10; i++) result[ i ] = i; return result; } int main() { int *a = foo(); std::cout << a[ 7 ] << std::endl; }