我只是在学习C++,从过去几天看过的所有示例代码中,我很难理解应该将指针放在何处。

这3个有什么区别?

1. char* x = /* ... */
2. char *y = /* ... */
3. char * z = /* ... */

或者
1. ClassX* x = /* ... */
2. ClassY *y = /* ... */
3. ClassZ * z = /* ... */

谢谢你的帮助。

最佳答案

没有区别。他们是完全一样的。

您可以选择自己编写它。通常,C++程序员在类型旁边放置星号,而C程序员在变量名旁边放置星号更为常见。

唯一需要注意的陷阱是在同一行上声明多个变量(如果不是因为这个原因,您实际上不应该这样做)。例如,在以下语句中,仅将变量x声明为指针:

char* x, y;

将其与以下内容进行比较,可以更清楚地了解哪些变量是指针:
char *x, y;

尽我所知,第三种语法是在两个主要选项之间的一种较差的折衷方案。有人决定将星号放置在中间,而不是将星号彼此相邻放置,这大约是它绝对不属于的唯一位置。

关于c++ - 在C++中声明指针时,我在星号的位置放在一起有关系吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5449908/

10-11 04:17
查看更多