慎用英文变量名

原创 2016年09月18日 21:54:41

今天为了解决一个bug折腾了大半天。

这个bug非常怪异,一个类里的一个变量,没人动它居然值就变了,gdb调试了半天找不到哪里有修改。

偶然打印出变量的地址才发现异常之处。

cc_tajk tajk;
char swrq[20];

这两行是定义的全局变量,然后swrq的地址居然和tajk类里一个成员变量的地址重合了,奇怪的是在主模块里是正常的,

tajk类在一个单独的.cpp中,在tajk类中打印输出这两个地址,就会发现这两个地址是重合的。

最后没办法把代码拷贝到一个新的目录,然后把不相干的部分逐渐去掉,检查问题是不是还存在。

用这样的办法居然发现主模块里去掉

#include <errno.h>

居然就好了,再加上这个头文件又出同样的错误了。

再仔细查找代码,发现tajk类里有个成员变量

int errno;

难道是这个变量名引起的?赶快把这个变量名换掉,果然就正常了。

当初用这个变量名的时候觉得类成员变量而且只是errno这样的名字,以为没问题,没想到还是有冲突。

看来还是用拼音字母做变量名要好些吧。



相关文章推荐

个位数,十位数,百位数等程序常用英文变量名该怎么写?

学习Java时,国内老师往往使用gw, sw, bw等汉语拼音缩写来代替,但是身为事事追求尽善尽美和professional范的准工程师们,我们怎么能满足于这么low的写法呢!...

awk 用法变量名 含义

  • 2014年02月26日 19:56
  • 7KB
  • 下载

C++变量名规则

  • 2014年04月04日 17:17
  • 43KB
  • 下载

C语言中变量名的命名规则

一、简介 1、严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如: 2、提示...

Object-C基础(1)—— 变量名与类型

标识符       给程序中的各种成员、角色起一个名字,方便程序员使用。       变量名、函数名、类…都需要标识符。              标识符的定义需要遵循一些规则:      ① 大小写...

C语言变量名命名规则

  • 2015年08月13日 22:44
  • 18KB
  • 下载

C语言变量名命名规则

  • 2012年11月19日 21:44
  • 64KB
  • 下载

Go语言学习7:Go语言为什么要用变量名后置的方式做声明

我一直很好奇,Go语言为什么要采用这种把类型放在后面的声明方式。今天得空来学习一下: 首先,我们来看一下c语言的声明方式: int x;这是一个典型的c语言声明,它声明了一个整型的变量x。 int (...
  • cs5512
  • cs5512
  • 2013年09月07日 11:39
  • 911
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:慎用英文变量名
举报原因:
原因补充:

(最多只允许输入30个字)