C语言中,pragma once与宏定义有何区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计516个文字,预计阅读时间需要3分钟。
C++// 使用单例模式管理资源class ResourceManager {public: static ResourceManager& getInstance() { static ResourceManager instance; return instance; }
void loadResources() { // 加载资源 }
void releaseResources() { // 释放资源 }};
C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别
pragma once 之前一直用的很好,今天和同事的配合中发现自己没有真正理解pragma once。
原因:同事喜欢把公共的头文件通过生成后事件复制到一个公共的include文件夹中。
摘抄:
#ifndef方式: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ 1 ... ... // 一些声明语句 #endif
#ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。
本文共计516个文字,预计阅读时间需要3分钟。
C++// 使用单例模式管理资源class ResourceManager {public: static ResourceManager& getInstance() { static ResourceManager instance; return instance; }
void loadResources() { // 加载资源 }
void releaseResources() { // 释放资源 }};
C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别
pragma once 之前一直用的很好,今天和同事的配合中发现自己没有真正理解pragma once。
原因:同事喜欢把公共的头文件通过生成后事件复制到一个公共的include文件夹中。
摘抄:
#ifndef方式: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ 1 ... ... // 一些声明语句 #endif
#ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。

