变量前加下划线是什么意思,代表什么意思?

taft 2003-03-08 11:41:58
我在很多open source的代码前看到很多
不知道是什么意思
...全文
4998 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
evence 2003-03-11
  • 打赏
  • 举报
回复
style的问题。
bryan99 2003-03-09
  • 打赏
  • 举报
回复
好象是系统变量吧...
我记得C语言的书上好象这么说过...
jason_stone 2003-03-09
  • 打赏
  • 举报
回复
变量命名中应该尽量减少_的使用
fireseed 2003-03-09
  • 打赏
  • 举报
回复
用很多可能,标准库里的很多函数名加下划线是为了区分版本。
greening 2003-03-09
  • 打赏
  • 举报
回复
风格问题。比如:
是用来确定某个int变量的大小,可以用函数和变量如下:
int size;
int getsize()
{
return size;
}
但是大多数人都不喜欢,觉得麻烦,就用了如下风格:
int _size;
int size()
{
return _size;
}
shine333 2003-03-09
  • 打赏
  • 举报
回复
local variable
eastsun 2003-03-09
  • 打赏
  • 举报
回复


佩服楼上的。

复制一遍。


\\\|///
\\ - - //
( @ @ )
+-------oOOo-(_)-oOOo----------+

UP UP UP
+-----------------Oooo---------+
oooO ( )
( ) ) /
\ ( (_/
\_)
cdimp 2003-03-09
  • 打赏
  • 举报
回复

\\\|///
\\ - - //
( @ @ )
+-------oOOo-(_)-oOOo----------+

UP UP UP
+-----------------Oooo---------+
oooO ( )
( ) ) /
\ ( (_/
\_)
SeekTruth 2003-03-09
  • 打赏
  • 举报
回复


一种变量定义的风格吧。

除此之外,我不知道还有什么另外的意义。
kunp 2003-03-09
  • 打赏
  • 举报
回复
一般好像是表示类的成员数据,我看很多书上是这么写的。
alan118 2003-03-09
  • 打赏
  • 举报
回复
一种编码风格吧
一般在成员变量前使用下划线

我记得stanly lippman在c++ primer 中使用这种风格。

mfc的风格是m_XXXXX

因人而异吧
glassshark 2003-03-09
  • 打赏
  • 举报
回复
在程序中定义下划线,双下划线,及“str”,“is","to"均已为ansiC标准委员会所保留,如果自行定义就犯了错误。
另:你最好不要使用所有标准库中定义的标识符(变量名,宏,函数名……),如果你特别喜欢用的话,建议你在变量名的前面加上你的个性前缀(如NMD_,FUCK_等……,什么?我骂人?NO,清华大学的学生—伏明瞎都不知道,我哪会知道是什么意思)或另加后缀_DOG,_CS……。

以下是Richard Heathfield Lawrence Kirby等建议(客气)不要使用的标准标识符或前缀:
E[0-9]* E[A-Z]* is[a-z]*
LC[A-Z]* mem[a-z]* NDEBUG
Offsetof raise SIG[A-Z]*
str[a-z]* to[a-z]* wcs[a-z]*
_*

特别提一句,许多人喜欢定义下划形式标识符,很危险。
_MY_HEARD_H
_MY_ALLOC_H
_YOUR_MOTHER_PP_H
wshcdr 2003-03-09
  • 打赏
  • 举报
回复
加下划线好象是UNIX下的令名规则
hutuworm 2003-03-09
  • 打赏
  • 举报
回复
防止命名冲突
bryan99 2003-03-09
  • 打赏
  • 举报
回复
带两个下划线的标识符留给C++编译程序使用...
同样,带一个下划线的名字也要避免使用,国为他们保留给命名操作系统例程的某些C的实现...
有些C++实现则使用C的库函数...
njjn 2003-03-09
  • 打赏
  • 举报
回复
C++primer 提过 一般private 成员 前加_ 以示区别public
其实也没什么
snowman_pc 2003-03-09
  • 打赏
  • 举报
回复
风格问题

防止重复使用,

例如:

#ifndef EG_H_
#define EG_H_

or

如楼上兄台!
langzi8818 2003-03-09
  • 打赏
  • 举报
回复
在程序中定义下划线,双下划线,及“str”,“is","to"均已为ansiC标准委员会所保留,如果自行定义就犯了错误。
另:你最好不要使用所有标准库中定义的标识符(变量名,宏,函数名……),如果你特别喜欢用的话,建议你在变量名的前面加上你的个性前缀(如NMD_,FUCK_等……,什么?我骂人?NO,清华大学的学生—伏明瞎都不知道,我哪会知道是什么意思)或另加后缀_DOG,_CS……。

以下是Richard Heathfield Lawrence Kirby等建议(客气)不要使用的标准标识符或前缀:
E[0-9]* E[A-Z]* is[a-z]*
LC[A-Z]* mem[a-z]* NDEBUG
Offsetof raise SIG[A-Z]*
str[a-z]* to[a-z]* wcs[a-z]*
_*

特别提一句,许多人喜欢定义下划形式标识符,很危险。
_MY_HEARD_H
_MY_ALLOC_H
_YOUR_MOTHER_PP_H

sandrowjw 2003-03-09
  • 打赏
  • 举报
回复
不希望别人看到的变量,同时也是编程的时候需要小心使用的变量吧。
jinyongzhi 2003-03-09
  • 打赏
  • 举报
回复
很多系统库函数里使用这种风格的变量,不建议用户这样定义。
加载更多回复(3)

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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