A function, foo, logs the size of its int* argument as:
void foo(int* ptr) {
std::cout << sizeof(ptr) << "\n";
}
An int array is passed to foo, and also its size is logged after the call to foo:
int array[10];
foo(array); // pass array to foo
std::cout << sizeof(array) << "\n"; // log size of array
What will be the output of above if this code is run on a machine where sizeof(int) is 4 bytes and sizeof(void*) is 8 bytes: