栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++重复声明

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++重复声明

C++重复声明 1. 重复声明的问题
  • 如果头文件中有定义(变量、函数、类),重复包含会产生重复定义的问题
  • C++重复包含头文件,编译器拷贝和扫描需要耗费时间、降低效率
  • 一般头文件中只放声明,而声明可以多次
2.解决方案 2.1 #ifndef、#define、#endif 宏定义

格式:

#ifndef _NAME_H
#define _NAME_H
// 头文件内容
#endif

特点:

  • ​ 通过定义独一无二的宏来避免重复引入,意味着每次引入头文件都要重新识别,效率不高

  • ​ C和C++都支持宏定义,不影响项目的移植性

  • ​ 既能作用于某个具体的文件,也能作用于一段代码

2.2 #progma once 指令

格式:

// 在头文件开头加上 
#progma once

特点:

  • ​ 不涉及宏定义,编译效率高

  • ​ 不支持老的编译器

  • ​ 只能作用于某个具体的文件

2.3 _Progma(“once”) 操作符

格式:

// 在头文件开头加上 
_Progma("once")

特点:

  • ​ 可以和宏搭配使用
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000922.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号