C++命名规则有很多种,本文的主要内容是基于Microsoft公司使用的匈牙利命名法,即在变量和函数名中加入前缀以增进人们对程序的理解。
1. 变量和参数
类型 | 前缀 |
---|---|
int | n(i) |
unsigned int | u(n) |
float或double | f |
char和char* | 表示字符串时用sz,表示指向单个字符的指针时可以用p |
bool | b |
String | str |
Vector | v |
Matrix | mat |
Color | clr |
DWORD | dw |
指针 | p |
类成员变量 | m_ |
结构体成员变量 | 不用加m_ |
全局变量 | g_ |
静态变量 | s_ |
变量名和参数用小写字母开头的首单词加上大写字母开头的后续单词组成,如:
bool bFlag;
int nSize;
unsigned int unCount;
float fWindowWidth;
2. 常量
对于常量尽量不用宏,使用const。全局cosnt变量(和C语言宏类似)和类中的static const变量,不用加g_,s_。
常量名全大写,单词之间使用下划线隔开。如:
const int MAX_LENGTH = 1024;
static const int MIN_LENGTH = 1;
3. 数组
int element;
int elements[30];
数组命名时加s,函数的传入的参数也需要加s,如:
Func(int* pElements, int nNumElement)说明传入的是个数组,而不是的单个的指针;
指针数组 int** ppElements[30]; 使用pp前缀;
4. 函数
函数名由大写字母开头的单词组合而成:
void SetValue(int width, int height);
float GetValue(void);
5. 接口
大写字母 I 开头,再加上表示具体含义的大写字母开头的单词组合:
class IHuman
{
public:
virtual bool Eat() = 0;
virtual bool Sleep() = 0;
};
6. 类
具体实现类使用大写字母C开头,再加上表示具体含义的大写字母开头的单词组合:
class CMan : IHuman
{
public:
virtual bool Eat();
virtual bool Sleep();
};
7. 枚举
枚举类型的命名全部大写并使用下划线隔开单词:
enum GAME_TYPE
{
GT_FPS = 0,
GT_MMO,
GT_RPG
};