【ChernoC++笔记】C++头文件
❓如何使用别的文件中定义的函数?
—>将函数声明拷贝到该文件中?
—>使用#include ”.h”
可以做到这一点,将函数声明拷贝到每个需要使用函数的文件中。
▶️井号#
的作用:预处理命令,表示在C++文件实际编译之前就处理。
▶️头文件中#pragma once
的作用:告诉编译器只编译该头文件一次。
- 当存在嵌套的头文件时,很容易多次包含某一头文件,造成重复定义。
▶️另一种做法:使用#ifndef
,检查_LOG_H
是否已经被定义过,如果没有就继续包含下面的代码,并#define _LOG_H
;如果定义过,则下面的代码都会被禁用
/* log.h */
#ifndef _LOG_H
#define _LOG_H
void InitLog();
void Log(const char* message);
struct Player {};
#enddif
❓#include <>
与#include “”
的区别?
#include <>
通常用于包含编译器的include文件夹中的头文件;#include “”
通常用于包含当前文件所在目录中的头文件(编译器包含路径也可以使用引号)。
❓为什么有的标准头文件有.h结尾,有的没有?
- 用于区别C++标准库和C标准库;
- C标准库通常有.h结尾。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!