C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别

pragma once 之前一直用的很好,今天和同事的配合中发现自己没有真正理解pragma once。
原因:同事喜欢把公共的头文件通过生成后事件复制到一个公共的include文件夹中。
摘抄:
#ifndef方式: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ 1 ... ... // 一些声明语句 #endif
#ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。当然,缺点就是如果不同头文件的宏名不小心“撞车”,可能就会导致头文件明明存在,编译器却硬说找不到声明的状况
#pragma方式
#pragma once ... ... // 一些声明语句
#pragma once 是个预处理指令,在头文件的最开始加入这条指令表示:这个头文件只被编译一次 #pragma once则由编译器提供保证:同一个文件不会被包含多次。注意这里所说的“同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。带来的好处 是,你不必再费劲想个宏名了,当然也就不会出现宏名碰撞引发的奇怪问题。对应的缺点就是如果某个头文件有多份拷贝,本方法不能保证他们不被重复包含。当 然,相比宏名碰撞引发的“找不到声明”的问题,重复包含更容易被发现并修正。
总结: 1. #ifndef 由语言支持所以移植性好,#pragma 可以避免名字冲突
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# C++
# 中pragma
# once
# 与
# #ifndef
# _XXX_H_
# 区别
# pragma
# #define
# C语言编程技巧 关于const和#define的区别心得
# c++ 尽量不要使用#define 而是用const、enum、inline替换。
# c++ const引用与非const引用介绍
# C++中的类型转换static_cast、dynamic_cast、const_cast和reint
# C/C++中static
# const
# inline三种关键字详细总结
# C++中const的实现机制深入分析
# C/C++中宏定义(#define)
# C/C++中的typedef和#define详解
# C++中const与#define的利弊分析
# 头文件
# 找不到
# 就会
# 是个
# 很好
# 也就
# 是指
# 也能
# 而不
# 这条
# 希望能
# 发现自己
# 不被
# 谢谢大家
# 更容易
# 则由
# 你不必
# 性好
# 完全相同
# 多份
相关文章:
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何高效利用亚马逊云主机搭建企业网站?
建站主机核心功能解析:服务器选择与网站搭建流程指南
如何在建站宝盒中设置产品搜索功能?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
SQL查询语句优化的实用方法总结
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
怀化网站制作公司,怀化新生儿上户网上办理流程?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
香港服务器WordPress建站指南:SEO优化与高效部署策略
制作公司内部网站有哪些,内网如何建网站?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
网站设计制作公司地址,网站建设比较好的公司都有哪些?
如何在橙子建站上传落地页?操作指南详解
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
C#怎么创建控制台应用 C# Console App项目创建方法
建站之星安装步骤有哪些常见问题?
,如何利用word制作宣传手册?
如何在宝塔面板中创建新站点?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
Swift中swift中的switch 语句
建站主机服务器选型指南与性能优化方案解析
自助网站制作软件,个人如何自助建网站?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
建站之星如何实现网站加密操作?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
开封网站制作公司,网络用语开封是什么意思?
,制作一个手机app网站要多少钱?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
IOS倒计时设置UIButton标题title的抖动问题
建站之星在线版空间:自助建站+智能模板一键生成方案
Swift开发中switch语句值绑定模式
如何通过.red域名打造高辨识度品牌网站?
如何快速生成高效建站系统源代码?
官网网站制作腾讯审核要多久,联想路由器newifi官网
定制建站价位费用解析与套餐推荐全攻略
如何续费美橙建站之星域名及服务?
建站之星代理商如何保障技术支持与售后服务?
定制建站流程解析:需求评估与SEO优化功能开发指南
建设网站制作价格,怎样建立自己的公司网站?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何高效生成建站之星成品网站源码?
如何用VPS主机快速搭建个人网站?
如何在阿里云域名上完成建站全流程?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
如何在建站之星网店版论坛获取技术支持?
*请认真填写需求信息,我们会在24小时内与您取得联系。