C++命名规则

  C++命名规则有很多种,本文的主要内容是基于Microsoft公司使用的匈牙利命名法,即在变量和函数名中加入前缀以增进人们对程序的理解。

1. 变量和参数

类型前缀
intn(i)
unsigned intu(n)
float或doublef
char和char*表示字符串时用sz,表示指向单个字符的指针时可以用p
boolb
Stringstr
Vectorv
Matrixmat
Colorclr
DWORDdw
指针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
};
### C++ 编程风格与命名约定的最佳实践 #### 变量命名规则C++ 社区中,常见的做法是使变量名具有描述性和可读性。通常采用驼峰命名法(camelCase),即第一个单词首字母小写,后续单词首字母大写[^1]。 ```cpp int studentCount; double averageScore; ``` #### 函数命名规则 对于函数名称,在 C++ 中同样推荐使用驼峰命名方式。由于函数的形式已经能够区分其与其他实体的不同之处,因此无需通过前缀或其他特殊字符来标记它们为函数。 ```cpp void calculateTotal(); bool isValidEntry(int entry); ``` #### 常量定义 当涉及到字符串类型的常量时,建议保持标识符中的词语顺序与实际值相匹配。这有助于提高代码的一致性和易理解度[^2]。 ```cpp const std::string SUCCESS_MESSAGE = "successMessage"; ``` #### 结构体和接口设计 针对来自面向对象背景的新手开发者而言,Go 语言提供了一种独特的结构体(structs) 和 接口(interfaces) 的概念组合,虽然这里讨论的是 C++, 类似的理念也适用于此:应当注重如何利用类(class)/struct 来模拟现实世界的事物以及定义清晰的行为契约(interface)[^3]。 ```cpp class Rectangle { public: double width; double height; // Constructor Rectangle(double w, double h): width(w), height(h){} // Method to get area double GetArea() const {return width * height;} }; ``` #### 访问修饰符 遵循访问控制原则,将成员变量设为私有(private),并通过公共(public) 方法暴露必要的操作给外部使用者。这样可以保护数据完整性并实现封装特性[^4]。 ```cpp private: int age; // Private member variable public: void setAge(int newAge); // Public setter method int getAge(); // Public getter method ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值