c++的分文件编写

前言

在C++中,你可以将代码分割成多个文件来提高可维护性和组织性。分割文件有助于将代码模块化,使大型项目更易于管理。以下是C++中关于分文件的一些规则和概念:

理论知识

头文件(Header Files): 头文件通常具有 .h 或 .hpp 的扩展名。它们包含声明(例如类、函数和变量的声明),供其他文件在编译时引用。头文件应该包含防范重复包含的预处理指令,例如头文件保护宏(#ifndef、#define、#endif 预处理指令)来防止重复包含。头文件只应该包含声明,不应该包含实现。

源文件(Source Files): 源文件包含实现,通常具有 .cpp 的扩展名。这里是实际代码的地方,包括函数和类的实现。源文件包含头文件并提供实现细节。每个源文件都可以被独立编译成一个目标文件。

编译单元(Compilation Units): 一个编译单元是一个包含源文件和其相关的头文件的逻辑单元。在大多数情况下,一个编译单元对应一个源文件。编译单元被独立编译成一个目标文件,然后在链接阶段组合在一起。

命名空间(Namespaces): 命名空间是用来避免命名冲突的机制。通过将相关的类、函数等放在一个命名空间中,可以确保它们的名称不会与其他地方的名称冲突。

链接器(Linker): 在编译后,编译器生成了多个目标文件。链接器负责将这些目标文件合并成最终的可执行程序。链接器解决符号引用,将不同编译单元中的符号关联起来。

分离式编译(Separate Compilation): C++ 支持分离式编译,这意味着你可以将程序分成多个源文件,每个文件可以独立编译。这样,当你修改一个源文件时,只需要重新编译它,而不必重新编译整个项目。

实践

这是我的 c++ 目录

我想要在 hello.cpp 文件下使用 swap.cpp 下的函数
fun.h 文件

复制代码
#include<iostream>

using namespace std;


// 函数的声明
void fun(void);

swap.cpp 文件

复制代码
#include"fun.h"

void fun(void)
{
	cout << "啦啦啦啦" << endl;
}

hello.cpp 文件

复制代码
#include<iostream>
#include<string>
using namespace std;

#include"fun.h"

int main()
{
	fun();
	return 0;
}
相关推荐
这是个栗子33 分钟前
前端开发中的常用工具函数(八)
开发语言·前端·javascript
凤凰院凶涛QAQ1 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
研☆香1 小时前
为什么变量声明在赋值前也能使用?—— 深入理解 JavaScript 变量提升与作用域
开发语言·前端·javascript
右耳朵猫AI1 小时前
PHP周刊2026W28 | 安全更新、Laravel 13.18、Twig 3.28
开发语言·php·laravel
second601 小时前
第一部分:快速上手 —— 建立 C++ 基本语法与编程范式
开发语言·c++
郝学胜-神的一滴1 小时前
算法实战:最小k个数——大顶堆的优雅解法
开发语言·数据结构·c++·python·程序人生·算法·排序算法
bksczm2 小时前
linux之线程概念和控制
linux·开发语言·c++
JackieZhengChina2 小时前
零依赖轻量级JS悬浮提示插件title2tip-js的使用教程
开发语言·javascript·ecmascript
hehelm2 小时前
Linux网络编程—TCP字典翻译系统
linux·开发语言·网络·c++·tcp/ip
hansang_IR2 小时前
【记录】「SCOI2016」三道模拟赛/26.7.12
c++·算法