C++核心准则SF.3:使用.h文件管理所有在多个源文件中使用的声明
时间:2022-07-26
本文章向大家介绍C++核心准则SF.3:使用.h文件管理所有在多个源文件中使用的声明,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
SF.3: Use .h files for all declarations used in multiple source files
SF.3:使用.h文件管理所有在多个源文件中使用的声明
Reason(原因)
Maintainability. Readability.
维护性。可读性。
Example, bad(反面示例)
// bar.cpp:
void bar() { cout << "barn"; }
// foo.cpp:
extern void bar();
void foo() { bar(); }
A maintainer of bar cannot find all declarations of bar if its type needs changing. The user of bar cannot know if the interface used is complete and correct. At best, error messages come (late) from the linker.
如果需要修改bar的类型,维护者无法找到bar的所有声明。bar的用户无法知道所用的接口是否完全和正确。
Enforcement(实施建议)
- Flag declarations of entities in other source files not placed in a .h.
- 标记实体的定义没有放在.h文件中而放在其他源文件中的情况。
原文链接
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#sf3-use-h-files-for-all-declarations-used-in-multiple-source-files
- 常见的3种Hive参数配置方法
- 6杂域名超16万元结拍
- GridView控件使用经验
- WordPress登陆文件wp-login.php添加相关参数,安全有保障
- WordPress在RSS Feed 中输出自定义特色图像(缩略图)
- 单拼域名can.com以高达99.2万元成交!
- CI学习 CCNET Config 第一天
- IBatisNet基础组件
- 学习altas笔记[客户端JS和Altas环境初始化关系和DataTable返回数据的客户端处理]
- 在Windows 8 Hyper-V下的安装CentOS 6和SSH配置
- WordPress RSS Feed 优化/设置技巧六则
- SourceTree 基本介绍
- 学习Altas 笔记[JS简单调用服务端方法]
- 使用WinSCP软件在windows和Linux中进行文件传输
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- BootStrap应用开发学习入门1
- Python实现单链表和字典
- 关于如何做好运维管理工作的一点思考
- 2.6-Air302(NB-IOT)-基础外设-AD采集,NTC温度传感器B3950
- 2.5-Air302(NB-IOT)-基础外设-串口(485,422),CRC校验
- 2.3-Air302(NB-IOT)-基础外设-输入检测
- 2.2-Air302(NB-IOT)-基础外设-PWM输出
- API可视化管理平台YApi
- BootStrap应用开发学习入门
- 为什么要学习现代控制理论(机器人方向)?
- 2.XML之编程解析示例笔记
- XML快速入门学习笔记
- Fuzz入门以及在渗透测试中重要性
- 程序设计语言介绍及调试技巧
- 项目开发学习与总结