第9章 内存模型和名称空间 读书笔记9.1

C标准库喝C++标准库区别

C标准库里得头文件一般都是.h扩展名,C++没有扩展名。

<>适用用于编译器得#include
“”适用用于所的情况,如果是自己编辑的头文件需要使用“”,编译器的使用“”路径也可以

头文件中常常包含的内容:

  • 原型函数
  • 使用#define或const定义的符号常量
  • 结构声明
  • 类声明
  • 模板声明
  • ineline function

在同一个文件中只能将同一个头文件包含一次。为了防止这种情况发生使用防护(guarding)方案,使用如下

#ifndef COORDIN_H_//if not defined
#define COORDIN_H_//检查这个符号是否存在
....

#endif

表示

  • 如果在以前的代码段中没有使用预处理器编译指令#define定义名称COORDIN_H_时,才会处理#ifndef和#endif之间的渔业局
  • 如果在同一个文件中遇到其他包含coordin.h的代码,编译器将知道COORDIN_H_已经被定义了,从而跳到#endif后面的一行上了。
  • PS:这种方法并不能防止编译器将文件包含两次
    类似方法使用#pragma once,只是防止include到一个翻译单元里,也就是一个单独的cpp文件,并不是整个解决方案
#pragma once
...
struct test();

可以在头文件中建立一个空的struct,这样在重复包括的时候,程序会报警说,使用了相同的strcut的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值