下面的代码片段是否做完全相同的事情?
是 *(*(array+ x) + y) = 1;
等同于 array[x][y] = 1;
最佳答案
如果 array
是双指针、指针数组或二维数组类型,是。
如果它是用户定义的类型,则 operator[]
和 operator+
可能会以不一致的方式被覆盖。例如,如果 array
是一个 std::vector
那么 array[x]
将起作用并且 *(array + x)
不会。
关于c++ - 一个双指针可以用c++写成两种方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55788074/