【发布时间】:2016-01-30 15:31:43
【问题描述】:
考虑以下代码:
int myArray [3] = {1, 2, 3};
std::cout << myArray << "\n"; // 0x22ff24
std::cout << &myArray << "\n"; // 0x22ff24
std::cout << *myArray << "\n"; // 1
std::cout << *(&myArray) << "\n"; // 0x22ff24
为什么底部语句不给1,就像第三条语句一样?如果 myArray 等于 &myArray,为什么 *myArray 不等于 *(&myArray)?
【问题讨论】:
-
类型和值一样重要。
-
typeid是你的朋友。