有这样的代码:
int (*ptr_)[1] = new int[1][1];
ptr_[0][0] = 100;
std::cout << "to: " << &ptr_ << ' ' << ptr_ << ' ' << *ptr_ << ' ' << &(*ptr_) << ' ' << **ptr_ << std::endl;
结果是:
to: 0xbfda6db4 0x9ee9028 0x9ee9028 0x9ee9028 100
为什么ptr_和*ptr_的值相同?ptr_的值等于0x9ee9028,所以内存单元0x9ee9028的值是*ptr_,即0x9ee9028,但**ptr_的结果是100。这合乎逻辑吗?