【随笔】C++类静态成员变量初始化引发的惨痛教训
2024-08-28 18:03:01
事情是这样的,我在某个类中声明了一个静态的map成员, 文件名暂且称之为 xxx.h
然后在 xxx.cc
中全局定义了这个东西,静态成员在类里面只是声明,需要在外边被定义才有内存
然后又在main.cc
中声明全局变量时间接调用了s_datas的find函数(它是个map),然后在windows上编译运行,没问题,在linux上gcc4.8就老是说s_datas未定义,还段错误,好死不死我的用的是宏,gdb + core只能定位到这个main.cc
这里
这里挠头挠了3个钟........
才发现间接调用了s_datas的find函数,我寻思这s_datas被定义了呀,怎么会未定义,然后灵光一闪,卧槽定义和调用都在全局这里,跟编译顺序有关。。完
最新文章
- 微信 6.5.1 for iOS发布 可以在朋友圈分享相册中的视频
- Dan计划:重新定义人生的10000个小时
- 常用SQL语句(交互)
- Careercup - Google面试题 - 6331648220069888
- 【BZOJ】【3157】&;【BZOJ】【3516】国王奇遇记
- RequireJS入门与进阶
- Git权威指南 读笔(2)
- 疯狂学习java web
- 三种C#.net生成静态页面的方法
- php学习网址
- 深入理解ajax系列第五篇——进度事件
- 蓝桥杯-搭积木-java
- MysqL自动提交机制的关闭
- matplotlib 命令行画图保存
- elementUI vue v-model的修饰符
- MVC 2nd
- 在Asp.net WebAPI使用Session
- YYWebImage——iOS异步图片加载框架
- 面试题-----ICMP协议简介
- 在SQL SERVER中批量替换字符串的方法