关于extern
来源:互联网 发布:阿里云服务器带宽选择 编辑:程序博客网 时间:2024/06/16 14:14
一点点心得,分享一下。extern 关键词是C式风格的。extern是用来声明,它告诉编译器以此修饰的变量或函数在其他文件中定义。由于程序是有多个.c 和.h文件链接而成,在一个文件中的定义在其他文件中是不可见。所以就要告诉编译器此函数或变量已在其他文件中定义。所以当你用extern 修饰了一个变量或者函数时,你理应给编译器这个函数或变量一个定义。如果编译器没有找到这个定义则会产生未定义错误。需要警惕的是要将定义与声明区分开。在.h 类的定义里面,变量与函数都是声明式。还有不要再.h文件中定义变量或函数(除特殊情况如类模板时),应为.h文件可能会被包含好多次,而定义只能出现一次,声明可以出现多次,这样会导致重定义的错误。虽然extern 是用来声明的,但是如果你这样来写
extern int i = 0;
,这个还会被视作i 的定义。但是一般来说不推荐这样来定义。具体的大家可以参考下effective c++ 与c++ primer。
- 关于extern
- 关于extern
- 关于extern
- 关于extern
- 关于extern
- 关于extern
- 关于"extern"
- 关于extern
- 关于extern
- 关于extern
- 关于extern用法说明
- 关于extern C
- 关于 extern 用法说明
- 关于extern的用法
- 关于#ifdef __cplusplus extern
- 关于#ifdef __cplusplus extern
- 关于extern的问题
- 关于extern用法说明
- masterminds of programming 翻译 (一)
- 由马化腾谈“微博修改功能”,看什么是优秀的产品经理
- std::string 与 char 类型的相互转换
- thinkpad 安装XP全过程
- 在java中实现日期类型和字符串类型的转换大全(Date String Timestamp Datetime)
- 关于extern
- PowerDesigner 连接oracle直接生成数据库中的表
- MVC Model Binding
- java.util.ConcurrentModificationException
- 拿什么拯救你,我的团队
- 使用表驱动技术优化程序结构
- play framework 之 对 模板引擎的 自定义扩展
- 第三方支付,在线支付
- java连接oracle数据库JDBC使用的jar报包