【发布时间】:2019-11-14 19:08:52
【问题描述】:
#include <iostream>
int main() {
int a[2][2] = {{1,2}, {3,4}};
int *c = *a;
int **b = &c;
std::cout << **(a+1); // outputs 3
std::cout << **(b+1); // segmentation fault
}
为什么一个 cout 会导致分段错误而另一个不会?他们不应该指的是相同的价值吗?
【问题讨论】:
-
std::array和/或std::vector有什么问题?这些天,C 风格的数组看起来很“古怪”..
标签: c++ pointers dereference