标签: c++ pointers dynamic-arrays double-pointer
以下代码段是否完全相同?
*(*(array+ x) + y) = 1;与array[x][y] = 1;相同
*(*(array+ x) + y) = 1;
array[x][y] = 1;
答案 0 :(得分:3)
如果array是双指针,指针数组或二维数组类型,则是。
array
如果是用户定义的类型,则operator[]和operator+可能会以不一致的方式被覆盖。例如,如果array是std::vector,则array[x]将起作用而*(array + x)将不起作用。
operator[]
operator+
std::vector
array[x]
*(array + x)