VS编程学习之#ifndef与#pragma once
来源:互联网 发布:忘不了前男友 知乎 编辑:程序博客网 时间:2024/06/03 14:42
#ifndef与#pragma once都用于避免同一个.h头文件被include多次。
.h头文件头文件一般包含函数定义,变量定义等,多次#include则会在导致重定义错误。
1.#ifndef用法:
1 2 3 4
来自CODE的代码片example.h
第一次include该.h文件的时候,由于宏_EXAMPLE_H没被定义,#ifndef _EXAMPLE_H语句为真,将执行#define _EXAMPLE_H语句与其后的example.h文件内容。当再次include该.h文件时,由于第一次已经定义了_EXAMPLE_H,故将跳过定义_EXAMPLE_H与执行example.h文件内容步骤。这样便可以避免多次include同一.h文件导致的多重定义错误。
2.#pragma once用法:
1 2
来自CODE的代码片example2.h
3.#ifndef与#pragma once的区别:
- #ifndef:依赖于宏名不冲突,如示例中的_EXAMPLE_H这个宏,这种方法可以保证同一内容文件不会被包含多次。但,如果宏_EXAMPLE_H在其他文件中被定义的话,也就是发生冲突了,就会导致该.h文件存在,但编译器找不到的错误。
- #pragma once:能保证同一文件不被include多次,不能保证同一内容文件不被多次include,如将example.h文件的里一份拷贝命名为examplecopy.h,虽然则这两个文件内容相同,但#pragma once不能保证其不被同时include.
- 推荐使用#ifndef。
#pragma once编译器相关,受编译器限制
推荐使用#ifndef
转载自:http://blog.csdn.net/lovecodeless/article/details/23366255
0 0
- VS编程学习之#ifndef与#pragma once
- #pragma once与#ifndef
- #pragma once与#ifndef
- #pragma once 与 #ifndef
- #pragma once与#ifndef
- #ifndef与#pragma once
- pragma once 与 ifndef
- #pragma once 与 #ifndef
- #ifndef与#pragma once
- #pragma once 与#ifndef
- #pragma once 与 #ifndef 解析
- #pragma once 与 #ifndef 解析
- #pragma once 与 #ifndef 解析
- #pragma once 与 #ifndef 解析
- 引用 #pragma once 与 #ifndef
- #pragma once 与 #ifndef 解析
- #pragma once 与 #ifndef 解析
- #pragma once 与 #ifndef 解析
- Java-08标识符、关键字
- 机录音或通话时,app界面整体下移
- juicer 入门教程
- 【AAAI2017】TextBoxes:A Fast Text Detector with a Single Deep Neural Network
- python 访问mysql
- VS编程学习之#ifndef与#pragma once
- 优化MySchool 第二章课后
- Ubuntu 16.04安装Matlab 2016b教程
- atmel sama5d4 dma dts configuration
- ElacticSearch笔记
- 捏合与拖动手势实现视图的缩放拖动 以及 任一边界拖进屏幕自动回弹
- confluence启用api调用
- 轻松搞定 OpenStack Heat 如何来实现和支持编排
- 表中添加字段字段值为行编号