当前位置: 首页 > news >正文

C++开发进阶1:C++编程命名规范

进行C++开发时最基础且最重要的是命名规范,掌握良好的命名规范能增加代码的可读性。

认识文件:

.cpp:C++ 源文件.

.h或.hpp:C++ 头文件

.tpp模板实现文件(如果模板定义和实现分开)

.inl内联文件,包含内联函数的定义

.md:Markdown 文件

编程命名规范:

常见命名规范:

蛇形命名法则:顾名思义,蛇形命名法就是用下划线连接各个描述性单词,例如person_class.cpp通常使用在文件或一些变量名中。

小驼峰命名法则:第一个单词全部小写,单词与单词连接无下划线,第二个单词首字母大写,例如:通常使用在变量中,例如accountName

大驼峰命名法则:单词与单词连接无下划线,每个单词首字母均大写,通常使用在类名中,例如:MyAnimal,PersonMoney,

全大写命名法则:顾名思义,每个单词的所有字母均为大写且用下划线连接。例如:MAX_SIZE,PI_ROUND

其他特殊命名规范:全局变量按照前面加g的方式进行命名,例如g_countName,g_player_money等,私有成员变量前面加上小写m,例如m_personMoney,保护成员变量在前面加上下划线,例如_myVariable,属性或变量一般采用小驼峰命名法居多,蛇形命名法在python中较为常见。

命名法则:例子:适用范围
蛇形命名法则person_class文件,变量,函数
小驼峰命名法则accountName变量,函数
大驼峰命名法则PersonMoney类名,枚举类名,结构体
全大写命名法则MAX_SIZE常量,枚举值,宏名
特殊命名法则1g_countName全局变量
特殊命名法则2m_personMoney私有成员变量/函数
特殊命名法则3_myVariable保护成员变量/函数

代码样例:

#include<iostream>
using namespace std;
#define MAX_AGE 150
enum EnumGender{WOMAN = 0,MAN = 1
};
class Person{public:int age;int gender;Person(int age, EnumGender gender, int money);void saveMoney(int add_money);void withdrawMoney(int subtract_money);int getMoney();private:int m_money;
};
Person::Person(int age, EnumGender gender, int money){if (age > MAX_AGE){cout << "年龄错误,创建类失败" << endl; }else{this->age = age;this->gender = gender;this->m_money = money;} 
}
void Person::saveMoney(int add_money){m_money += add_money;
}
void Person::withdrawMoney(int subtract_money){m_money -= subtract_money;
}
int Person::getMoney(){return m_money;
}
int main() {Person xiaoming = Person(18,MAN,1000);xiaoming.saveMoney(1000);cout <<xiaoming.age << endl<< (xiaoming.gender == MAN ? "男":"女") << endl <<  xiaoming.getMoney();
} 
http://www.lryc.cn/news/465369.html

相关文章:

  • Android 图片相识度比较(pHash)
  • Gitlab 完全卸载–亲测可行
  • gitlab操作和管理
  • ctfshow-web入门-反序列化(web254-web258)
  • repo 命令大全详解(第十一篇 repo init)
  • ComfyUI | 全新ComfyUI前端操作指南:提升你的工作速度!
  • nginx解决非人类使用http打开的443,解决网安漏扫时误扫443端口带来的问题
  • 黑马 | Reids | 基础篇
  • SAP-换登录界面图片
  • 移动 Web核心笔记(二)
  • MySQL创建和管理表
  • 【从零开始的LeetCode-算法】910. 最小差值 II
  • 周报 | 24.10.14-24.10.20文章汇总
  • Codeforce 980 Div2 A-D 题解
  • 一次代码优化的过程
  • 多线程的学习(1)
  • PyCharm借助MobaXterm跳板机连接服务器
  • 计算机毕业论文基于Android 的签到系统设计与实现
  • 量化学习-02
  • SAP_MM模块-设置业务合作伙伴类型字段必输(多种方案)
  • STM32平台上实现串口接收不定长数据-实际项目中应用
  • AWD入门
  • T3矩阵看功率
  • VLMEvalKit多模态大模型评测工具源码解析
  • 将 Docker 安装到指定目录
  • 哪些企业需要部署SD-WAN?
  • 通信基站类型、频段与网络标准
  • Java IO教程之Java 文件一口气讲完!( *︾▽︾)
  • 如何在 Ubuntu 24 上安装 Vmware Tools
  • 内网穿透:如何借助Cloudflare连接没有公网的电脑的远程桌面(RDP)