#pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。

#pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。

#ifndef,#define,#endif这个是C++语言相关,这是C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式

转载于:https://www.cnblogs.com/wangjixianyun/archive/2013/04/26/3046002.html

#pragma onece相关推荐

  1. C++工厂类和单例模式的结合使用

    单例模式: 简单来说一个类只有一个实例且封装性好.这里用宏定义实现. animal_singleton.h #pragma once #include <iostream>#define ...

  2. C/C++库文件全了解(包含静态库、动态库,包含windows、linux,包含dll、lib、so)

    目录 C/C++库文件全了解 一. 前言 二. 名词解释 2.1. windows的静态库:xxx.lib 2.2. windows的动态库:xxx.dll 2.3. linux的动态库:libxxx ...

  3. IOS笔记 #pragma mark的用法

    简单的来说就是为了方便查找和导航代码用的. 下面举例如何快速的定位到我已经标识过的代码. #pragma mark 播放节拍器 - (void) Run:(NSNumber *)tick { //.. ...

  4. #pragma pack(n) 的作用

    在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int.long.float等)的变量,也可以是一些复合数据类型(如数组.结构.联合等)的数据单元.在结构中,编译器为结构的每个成 ...

  5. 【数据库】sqlite中PRAGMA命令说明

    关于sqlite中PRAGMA的说明网上已经有很多了,这里不再复制粘贴,只把内容最全的网址连接记录一下: 官网说明(英文):https://sqlite.org/pragma.html 中文翻译,参见 ...

  6. #pragma pack 内存对齐

    1. 用法 #pragma pack是C/C++里面设置字节对齐方式的预编译函数 2. 解释 先看下面代码: #include <iostream> using namespace std ...

  7. #pragma once与#ifndef的区别

    #pragma once 和 #ifdef 都可以避免同一个文件被include多次,但二者的含义略有不同. 1. #pragma once方式 1.1. 使用方法 #pragma once// co ...

  8. #pragma once与#ifndef

    在C/C++中,在使用预编译指令#include的时候,为了防止重复引用造成二义性的两种方法. #ifndef 它不光可以保证同一份文件不会被包含两次,也能够保证不同文件完全相同的内容不会被包含两次. ...

  9. C/C++ 头文件 #pragma once vs #ifndef

    C/C++ 头文件防止被重复包含有2种常用的做法,一种是传统的ifndef: #ifndef HEADER_H #define HEADER_H...#endif // HEADER_H 另一种是稍微 ...

最新文章

  1. MySQL 单表优化
  2. 微信公众平台对所有公众号开放自定义菜单
  3. Hyper-V的版本
  4. 构建linux根文件系统
  5. 全屏显示的包含webview的页面中弹出的软键盘覆盖输入框的问题
  6. 变量详解-----笔记
  7. 【目标检测_CentripetalNet】CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection_2020
  8. armqt字体ttf_QT字体的设置
  9. C++ 对象模型(二)
  10. IEEE会议(期刊)检索
  11. 什么是OSINT?以及如何使用开源网络情报工具?
  12. 服务器与操作系统的区别是什么,服务器系统和普通用户操作系统有何区别
  13. 母婴行业竟也可以免费送?两种案例让你全面了解新的赚钱模式!
  14. 树莓派3B+温控风扇
  15. mysql 公历变农历_经过完整测试的农历-公历相互转换
  16. UI设计培训主要学习哪些内容
  17. 计算1+2+3+...+99+100的总和
  18. 高数中定积分以及微分方程的物理应用
  19. iOS8开发视频教程Swift语言版-Part 11:访问Web Service-关东升-专题视频课程
  20. 正益工场推出移动政务新媒体平台

热门文章

  1. debian ubuntu 记录系统启动信息
  2. Java逆序列化报错serialVersionUID不同
  3. 数据科学入门与实战:Seaborn002热力图等
  4. 数据分析与挖掘建模实战002:数据获取
  5. linux定时器跑命令,linux下运行定时器(cron/centos/js脚本)
  6. 用python做自动化测试仪器_使用python进行windows自动化测试(1)
  7. 导入失败 mysql_服务器宕机导致mysql出问题的处理方法
  8. ArcEngine二次开发API之Bug集(一 )
  9. Java 设计模式之 State 状态模式
  10. python 使用整数编码字符串的值