struct BinaryTreeNode { int m_nValue; BinaryTreeNode *m_pLeft; BinaryTreeNode *m_pRight; }
如上,剑指 offer 数据结构的定义里 m_n 和 m_p 是什么意思呢?
1
Nasei 2019-10-05 23:52:17 +08:00 via Android
我猜,m 是 member,n 是 node , p 是 pointer
|
2
widewing 2019-10-05 23:54:16 +08:00 via Android 1
匈牙利命名法
|
3
hhhsuan 2019-10-05 23:56:29 +08:00 via Android
p 是指针,n 应该是表示 int,m 一般是成员变量的前缀,函数参数加 m 是画蛇添足。这种是最差劲的变量命名方式,千万别学。value, left, right 就足够了。
|
4
jancing 2019-10-06 00:08:48 +08:00 via Android 3
g: Use with global variables—g_Counter
m: Use with member variables—m_Counter p: Use with pointer variables—m_pActor V: Use with virtual functions—VDraw() I: Use with Interface classes—class IDrawable ---摘自「 Game Coding Complete 」 |
5
MCVector 2019-10-06 00:16:53 +08:00 via Android
我们的游戏引擎就是用的这个命名法。但是对于 Struct 都是 public member 应该不用加 m_
|
6
uxstone 2019-10-06 08:30:46 +08:00
之前看 nodejs 的业务代码, 里面有很多变量命名成 cb , 一时理解不了,后来某天顿悟,原来是 callback 的缩写,淦
|
7
iwtbauh 2019-10-06 14:08:15 +08:00 via Android
又是匈牙利命名法。引用一句老话“这就是脑子有坑,编译器知道变量类型,不用你再写一遍”
|