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

c++ 头文件

目录

防止头文件重复包含

头文件的作用

如何让程序的多个 .cpp 文件之间共享全局变量(可能是 int、结构体、数组、指针、类对象)?

防止头文件重复包含

为什么要防止头问件重复包含?

 

 

 

当然一般也不会把变量定义放到头问件,那为什么还需要防止重复包含? 

 

 

头文件的作用

 头文件的主要作用与说明

 C++ 函数,函数分文件编写_c++构造函数不同文件-CSDN博客

 C++类和对象--封装,类分文件编写_实现一个类如何设置头文件封装-CSDN博客

杂记 define,typedef,static,extern,memset,ifndef,递归,逻辑与&&,整型提升,算术转换,栈区,高地址_ifndef &&-CSDN博客 

作用分类说明例子
1. 函数/类声明提供函数原型或类接口,让其他 .c/.cpp 文件知道如何使用它们int add(int, int);class Person { void say(); };
2. 类型定义定义结构体(struct)、枚举(enum)、typedefusing 等类型typedef unsigned int uint;struct Point { int x, y; };
3. 变量声明使用 extern 声明全局变量,使多个源文件共享该变量extern int g_count;
4. 宏定义定义常量或代码片段,提高代码可读性与维护性#define PI 3.14159#define MAX(a,b) ((a)>(b)?(a):(b))
5. 模板定义模板函数或类定义通常必须放在头文件中template<typename T> T max(T a, T b) { return a > b ? a : b; }
6. 内联函数提高性能,允许编译器将函数体展开到调用处inline int square(int x) { return x * x; }
7. 命名空间声明定义逻辑作用域,避免命名冲突namespace math { int add(int, int); }
8. 提高复用性多个源文件共享接口,避免重复编写声明#include "utils.h" 让多个文件重用工具函数接口
9. 分离接口与实现将接口和实现分离,提高模块化与可维护性.h 里写声明,.cpp 里写实现
10. 条件编译保护防止头文件被重复包含引起重复定义错误#ifndef HEADER_H ... #define HEADER_H ... #endif

第3条不好。一般不这样用

extern 声明全局变量虽然合法并常见,但确实存在一些“坏味道”,在现代 C++ 开发中不推荐广泛使用它。

如何让程序的多个 .cpp 文件之间共享全局变量(可能是 int、结构体、数组、指针、类对象)?

 

 

 

 

 

 

 

 

或者

static 局部变量:

  • 只在第一次进入函数时执行初始化

  • 之后不再初始化,而是保留之前的值

 

 

相关文章:

  • 构建AI中台:从技术孤岛到智能服务能力平台化
  • VB调用CryReport指南方案
  • Linux操作系统Shell脚本企业级综合练习
  • 如何计算1920*1080分辨率的YUV或RGB图像数据占用大小?
  • 2978: 临时测试-页码
  • 如何禁用windows server系统自动更新并防止自动重启
  • 非Root用户启动SSH服务经验小结
  • AtCoder Beginner Contest 409(ABCDEF)
  • The Quantization Model of Neural Scaling
  • 【ARM64信号处理过程中的上下文切换】
  • stm32_LAN8720驱动
  • 直角坐标系和斜角坐标系
  • frida基本使用方法
  • 【kubernetes】--pod
  • ​RBAC(基于角色的访问控制)权限管理详解
  • 从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(十)
  • 31.1linux中Regmap的API实验(知识)_csdn
  • 数据源指的是哪里的数据,磁盘中还是内存中
  • 真实案例分享,Augment Code和Cursor那个比较好用?
  • 02.管理数据库
  • 日本门户网站有哪些/百度联盟广告
  • 普通网站制作/免费建网站的平台
  • 忻州宁武网站建设/网站建设优化哪家公司好
  • 乐亭网站建设/雅思培训机构哪家好机构排名
  • 做搜索网站挣钱/网页seo搜索引擎优化
  • 巩义网站建设价格/百度快速排名 搜