可以用c ++中的两种方式编写双指针吗?

问题描述 投票:0回答:1

以下几段代码完全相同吗?

*(*(array+ x) + y) = 1;array[x][y] = 1;一样

c++ pointers dynamic-arrays double-pointer
1个回答
3
投票

如果array是一个双指针,指针数组,或二维数组类型,是的。

如果它是用户定义的类型,那么operator[]operator+可能会以不一致的方式被覆盖。例如,如果arraystd::vector,那么array[x]将起作用,而*(array + x)则不会。

© www.soinside.com 2019 - 2024. All rights reserved.