慎用英文变量名
来源:互联网 发布:巡检器如何下载数据 编辑:程序博客网 时间:2024/04/29 22:49
今天为了解决一个bug折腾了大半天。
这个bug非常怪异,一个类里的一个变量,没人动它居然值就变了,gdb调试了半天找不到哪里有修改。
偶然打印出变量的地址才发现异常之处。
cc_tajk tajk;
char swrq[20];
这两行是定义的全局变量,然后swrq的地址居然和tajk类里一个成员变量的地址重合了,奇怪的是在主模块里是正常的,
tajk类在一个单独的.cpp中,在tajk类中打印输出这两个地址,就会发现这两个地址是重合的。
最后没办法把代码拷贝到一个新的目录,然后把不相干的部分逐渐去掉,检查问题是不是还存在。
用这样的办法居然发现主模块里去掉
#include <errno.h>
居然就好了,再加上这个头文件又出同样的错误了。
再仔细查找代码,发现tajk类里有个成员变量
int errno;
难道是这个变量名引起的?赶快把这个变量名换掉,果然就正常了。
当初用这个变量名的时候觉得类成员变量而且只是errno这样的名字,以为没问题,没想到还是有冲突。
看来还是用拼音字母做变量名要好些吧。
0 0
- 慎用英文变量名
- 常见的有意义的英文变量名,类名,函数名的总结.
- 慎用javascript数组变量
- 慎用为初始化变量
- 慎用Servlet成员变量
- 慎用局部静态变量
- 慎用局部静态成员变量
- Android--慎用static静态变量
- Android--慎用static静态变量
- javascript方法的方法名慎用close
- 个位数,十位数,百位数等程序常用英文变量名该怎么写?
- 常见菜名--英文
- 变量名
- 变量名
- 变量名、函数名
- ASP.NET的静态变量,请慎用
- 请慎用全局静态变量(static)
- 慎用进程间条件变量pthread_cond_t
- 关于表格和资源的技巧
- hdu5898 odd-even number 【数位DP】
- mysql丢失root密码的解决办法
- TextView及其shape
- 一点累积----JAVA(2)----深拷贝,浅拷贝
- 慎用英文变量名
- [leetcode3] Longest Substring Without Repeating Characters
- MySQL 运行环境的调优往往和Linux的内核调优一并完成。
- JZOJ 4786. 小a的强迫症
- VS开发环境下生成和调用dll出现的问题和解决方法-1
- graph
- 【设计模式】——组合模式
- linux文件处理命令
- 达成条件一体机看见好看好看vkj