定义指针时,星号要靠近 类型名呢,还是靠经变量名 是规范的呀?

ok2ok2ok2 2011-07-18 07:27:40
定义指针时,星号要靠近 类型名呢,还是靠经变量名 是规范的呀?

int * a;
int *a;
int* a;

以上3种写法,好像都能通过编译。很多源代码,也没有统一,好像有种说法

第一种:
int *a; 重在表示 *a 是 int型的。

第二种:
int* a; 重在表示 int* 是一个类型(复核类型),它是 指向 int 的指针。

我认为第一种是规范的,
第二种是不规范的,因为如果同时定义多个变量时:

int* a,b,c;
按照第2种解释,a和b和c都是相同的,是指向 int 的指针。
但是实际上,编译器并不这样认为,
a是指向 int 的指针,但是 b和c 都是 int 型。
...全文
659 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
v_table 2011-07-19
  • 打赏
  • 举报
回复
哪个公司会允许写出
int *p,q;
这种代码[Quote=引用 19 楼 bill_hoo 的回复:]

据公司而定,个人喜欢
int *p;
因为如果出现

int *p,q;

更容易知道p是指针,q是int型,
如果写成
int* p,q;

会很碍眼~~
[/Quote]
tangyulong1214 2011-07-19
  • 打赏
  • 举报
回复
项目实践中一般采用第一种模式写;
另外楼主可以看看林锐、google的编码格式做为参考。
  • 打赏
  • 举报
回复
习惯int* p;
至少在我这里不会出现一行定义多个变量的情况。
qingkongxiaoyang 2011-07-19
  • 打赏
  • 举报
回复
其实关于这个符号靠近哪儿的问题,各种书上的说法也不太一致。
其实每种都可以,但是使用时一定要风格统一。
个人建议是采用第三种。原因如下:
int *a, b;
这样的定义大家很容易明白,a为整形指针类型,而b 为整形。
若写成
int* a, b;
就很容易让人误会。
还有一种说法,记不清是哪本书上写的了。每个变量的定义要占一行,即分开定义。
string decStr;
string sourStr;
使用时,再声明。
其实,说实话,我看的C++的书也不太多,但是关于一些使用规范之类的介绍还真的有一些区别,所以,我觉得我们尽量采用大众的编码风格,使用阅读、维护,并且一个项目中达到统一就可以。
个从看法哈,不一定准确。
youhao1999 2011-07-19
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 taodm 的回复:]
同楼上,int * p
[/Quote]
+++
lyz316 2011-07-18
  • 打赏
  • 举报
回复
用统一的编程风格
Jxiaoshen 2011-07-18
  • 打赏
  • 举报
回复
习惯第二种~
至善者善之敌 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yucarl 的回复:]
首先这个是没有规定的 看公司的习惯好了
[/Quote]

+++1正解
Ace丶双鱼 2011-07-18
  • 打赏
  • 举报
回复
首先这个是没有规定的 看公司的习惯好了
熊国明 2011-07-18
  • 打赏
  • 举报
回复
看个人习惯,我一般用第一种。
Kevin_Perkins 2011-07-18
  • 打赏
  • 举报
回复
除了第一种,后两种都是可以的.
但是风格要统一.
风吹PP凉SS 2011-07-18
  • 打赏
  • 举报
回复
最好是靠近变量吧,意思这是一个指针型变量
林石公 2011-07-18
  • 打赏
  • 举报
回复
如果说 int *a;这种格式比int* a;可能的可读性强的或许在于类似于这样的情况:

int* a, b;

int *a, b;

还是个习惯问题吧,反正没啥区别,
ningto.com 2011-07-18
  • 打赏
  • 举报
回复
看个人习惯, 我是这种int *a;
luwell 2011-07-18
  • 打赏
  • 举报
回复
bucuo
quwei197874 2011-07-18
  • 打赏
  • 举报
回复
统一用就好
luciferisnotsatan 2011-07-18
  • 打赏
  • 举报
回复
无所谓,对于编译器来说都一样。
通常靠近变量名,(人)看起来清楚。
taodm 2011-07-18
  • 打赏
  • 举报
回复
同楼上,int * p
chenjiawei007 2011-07-18
  • 打赏
  • 举报
回复
一般一个公司会选择统一的规范,没有好坏之分。
wtbike 2011-07-18
  • 打赏
  • 举报
回复
据说,一种是C的习惯,一种是c++的习惯。
加载更多回复(7)

65,179

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧