c++的头文件使用

👍 下面是每种在头文件中常见内容的示例写法(C++标准格式):


✅ 1. 函数声明

复制代码
// 函数声明(不定义函数体)
int add(int a, int b);
double getAverage(double x, double y);

✅ 2. 类声明

复制代码
// 类声明(仅定义接口,不写函数体)
class Student {
public:
    void setName(const std::string& name);
    std::string getName() const;
private:
    std::string name;
};

✅ 3. 常量定义

在头文件中推荐使用 constexprconst,而不是 #define

复制代码
const double PI = 3.14159;
constexpr int MAX_SIZE = 100;

✅ 4. 宏定义

宏是预处理器指令,不建议滥用。

复制代码
#define DEBUG_MODE
#define SQUARE(x) ((x) * (x))
#define MAX(a, b) ((a) > (b) ? (a) : (b))

✅ 5. 模板定义

复制代码
// 函数模板
template <typename T>
T add(T a, T b) {
    return a + b;
}

// 类模板
template <typename T>
class Box {
public:
    T value;
    Box(T v) : value(v) {}
};

✅ 6. 内联函数

复制代码
inline int multiply(int a, int b) {
    return a * b;
}

✅ 7. 类型别名

复制代码
typedef unsigned int uint;     // 旧写法
using uint32 = unsigned int;   // 推荐的新写法 (C++11 起)
using StringList = std::vector<std::string>;
相关推荐
码匠许师傅7 分钟前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
2603_9651481123 分钟前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
fqq31 小时前
力扣刷题前置Java语法
算法·leetcode·职场和发展
小小龙学IT2 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
知无不研3 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
2501_906565123 小时前
数学之美探究
算法
oier_Asad.Chen3 小时前
【洛谷题解/AcWing题解/OI学习笔记】洛谷P2868【USACO07DEC】Sightseeing Cows G(01分数规划求最大比率)
算法·图论·spfa·二分·负环
cfm_29143 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
C++ 老炮儿的技术栈5 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
qq_448011165 小时前
C语言中的柔性数组
c语言·开发语言·柔性数组