#ifndef
来源:互联网 发布:民治编程语言培训 编辑:程序博客网 时间:2024/05/16 08:25
在c语言中,对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件里只是进行了声明工作,即使不使用# ifndef宏定义,一个c文件多次包含同一个h文件也不会报错。 使用#ifndef可以避免下面这种错误:如果在h文件中定义了全局变量,一个c文件包含同一个h文件多次,如果不加#ifndef宏定义,会出现变量重复定义的错误;如果加了#ifndef,则不会出现这种错误。
但是在c++语言中,#ifndef的作用域只是在单个文件中。所以如果h文件里定义了全局变量,即使采用#ifndef宏定义,一个c++文件包含同一个h文件多次还是会出现全局变量重定义的错误。
嵌套的作用域:
作用域可以彼此包含,被包含的为内层作用域(inner scope),包含其他作用域的为外层作用域。允许在内层作用域中重新定义外层作用域已有的名字。定义了之后,要访问内层的可以直接访问,要访问外层的要加双引号 “::”.
阅读全文
0 0
- #ifndef
- ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef
- #ifndef用法
- #ifndef & extern
- Git解决代码冲突的详细处理流程
- vsftpd的配置详解
- java复习3——环境配置,基本知识
- ORACLE游标的使用说明
- centos编译 Compiling FFmpeg on CentOS RHEL Fedora
- #ifndef
- Python os模块介绍
- Unity+Vuforia 开发遇到的问题
- 关机命令
- 今日头条Go建千亿级微服务的实践
- [return sum(nums)-min(nums)*len(nums)leetcode453】 Minimum Moves to Equal Array Elements
- Android反编译apk
- spring+mybatis框架配置文件中使用${}占位符报错
- 改变echo 输出的颜色