更正C++指针语法
Correct C++ pointer syntax
我很难理解正确的指针语法,各种来源的做法似乎有所不同。
以下哪一项是正确的?
int* p = NULL;
int * p = NULL;
int *p = NULL;
还有这些?
*p = &x;
* p = &x;
抱歉问了初学者这个问题,但我似乎找不到一个直接的答案。
*
是直接位于数据类型之后、变量名称之前还是介于两者之间?
所有都是有效的,并且具有相同的含义,所以这是个人选择的问题。
需要注意的一件事是:-
int* i,j;
尽管如此,它声明i
是指向int的指针,但j
只是一个int。有关详细信息,请参阅此处的此问题。如果你真的想要这个,请使用。。
int *i;
int j;
或者,如果你坚持把它们放在一行上
int j, *i;
这更多的是一个语法问题,关于哪一个是"正确的",因为所有的都是有效的。
思考声明/代码所描述的内容,并相应地加入它们。
例如
"我想要一个名为p的int指针"意味着:int* p
"我想让contents pointed to by p
包含x的地址"意味着:*p = &x
您希望选择一个易于他人阅读和/或广受欢迎的标准,以便更容易过渡到新的商业开发网站。它们都将有类似的编码标准
所有这些都是正确的。运算符之间、名称和运算符之间的空白等都不相关。
按照你最容易阅读的方式去做。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 助记符和指向成员语法的指针
- QMetaObject invokeMethod的基于函数指针的语法
- 共享指针和具有自定义删除程序的唯一指针之间的语法差异背后的任何原因
- 使用基类指针调用基类的值构造函数的语法是什么?
- C++语法差异:二维和一维数组(指针算术)
- C++中未命名函数指针的语法
- c++ 获取非语法使用"&"创建指针
- C++语法中的函数指针
- 存储函数指针的正确语法
- 我想获取点的属性,它报告错误 C3867:"point::output_x":非标准语法;使用"&"创建指向成员的指针
- 非标准语法,使用 & 创建指向成员的指针
- 将引用绑定到指针的语法是什么?(各种)
- 如何使用二维语法访问指针
- 带有自定义类的共享指针语法背后的任何原因,如下所示
- 非标准语法使用 '&' 创建指向成员 C++ 的指针
- 如何在不更改现有函数语法的情况下将普通指针替换为共享指针
- C++指向函数声明语法的指针
- 难以理解指针语法C++
- 数组的语法指针C++