我只是在学习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/