Avatar ·

C++中指针可以有多少层嵌套?

大家好。我写C++大约一年了,有一个理论问题困扰着我。我知道可以创建指向指针的指针,比如 `int** ptr`,甚至三重指针 `int*** ptr`。但能走多远?语言标准中是否有任何限制,还是取决于编译器/平台? 例如,我可以写: ```cpp int a = 5; int* p1 = &a; int** p2 = &p1; int*** p3 = &p2; int**** p4 = &p3; // 以此类推... ``` 但如果我尝试创建一个有100层嵌套的指针呢?它能编译吗?如果能,它在运行时如何工作?我觉得实际上没人会用超过2-3层,但我想知道正式的限制。 另外,C和C++在这方面有区别吗?我听说C的限制可能更严格。还有,这会影响性能吗?如果可能,我将感谢一个详细的答案,包含示例和标准引用。 <<>>

理论极限