我试图为此寻找答案,但是我发现很难找到这种“确切的”例子。我对指针的了解甚少,而且我觉得在此表象下还有更多的东西,而不仅仅是指向某物的指针。
那么你们将如何翻译呢?
void free(shame_1 * const * const group_1);
如果将其转换为const group_1指向shame_1的const指针,对吗?
谢谢。
最佳答案
shame_1 * const * const group_1;
声明一个名为group_1的变量,该变量的类型是指向shame_1类型对象的const指针(您不能更改其指向的位置)的另一个const指针(相同),您实际上可以更改其值。
因此,例如,您不能编译:
group_1 = nullptr;
*group_1 = nullptr;
但是,您可以执行以下操作:
void f(shame_1& group) {
//stuff that modifies group
...
}
f(**group1);
正如zakinster所说,看看the spiral rule应该可以帮助您理解这种表示法。
关于C++ * const * const,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21747331/