g*********e 发帖数: 14401 | 1 我没怎么写过大程序,
经常看到别人的代码里有很多下划线带头的记号,然后跟着变量定义什么的,求问这是
什么意思?
比如这个_in _out ___inout
SOCKET accept(
__in SOCKET s,
__out struct sockaddr *addr,
__inout int *addrlen
); |
J**9 发帖数: 835 | 2 no special meaning. you can use _ anywhere in a variable:
common use:
1) easier reading: data_type instead of datatype
2) typedef struct _my_struct_ {
int a;
int b;
} My_Struct;
3) #ifdef _FILE_HEAD_H_ |
g*********e 发帖数: 14401 | 3
你这里是变量名里加_
但我看到的代码里是 先来一个 _aaa 然后再定义变量啊 难道这个_aaa也是变量?
【在 J**9 的大作中提到】 : no special meaning. you can use _ anywhere in a variable: : common use: : 1) easier reading: data_type instead of datatype : 2) typedef struct _my_struct_ { : int a; : int b; : } My_Struct; : 3) #ifdef _FILE_HEAD_H_
|
j*****j 发帖数: 586 | 4 "_"好像表示和汇编有关系的,具体怎么说的,记不太清了,好像是能可在汇编中执行还是
啥的... |
J**9 发帖数: 835 | 5 Sorry. did not read your example carefully.
In the following example
SOCKET accept(
__in SOCKET s,
__out struct sockaddr *addr,
__inout int *addrlen
);
__in: pass by value or read only
__out: write only
__inout: R/W
I bet this is just for better codes reading.
somewhere, there must be something like this
#define __in
#define __out
#define __inout
compiler will throw them away, but this is very friendly for codes readers.
【在 g*********e 的大作中提到】 : : 你这里是变量名里加_ : 但我看到的代码里是 先来一个 _aaa 然后再定义变量啊 难道这个_aaa也是变量?
|
s********k 发帖数: 6180 | 6 预留给compiler和system的,你自己的code里面不能再定义同样的变量
【在 g*********e 的大作中提到】 : 我没怎么写过大程序, : 经常看到别人的代码里有很多下划线带头的记号,然后跟着变量定义什么的,求问这是 : 什么意思? : 比如这个_in _out ___inout : SOCKET accept( : __in SOCKET s, : __out struct sockaddr *addr, : __inout int *addrlen : );
|
v*s 发帖数: 946 | 7 对,我经常这么写
【在 J**9 的大作中提到】 : Sorry. did not read your example carefully. : In the following example : SOCKET accept( : __in SOCKET s, : __out struct sockaddr *addr, : __inout int *addrlen : ); : __in: pass by value or read only : __out: write only : __inout: R/W
|
n********5 发帖数: 323 | 8 in some convention, it means private variable.
public Class A {
private String _state;
} |