注册 登录
编程论坛 C++教室

询问一个编程习惯的问题

BBGASJ 发布于 2008-09-10 12:18, 1373 次点击
我在看C++ PRIMER PLUS时,中文版第22页有这么一种思想,就是在C++种,程序员通常是在首次使用声明变量前声明他,而不是把所有声明的变量放在一起。

    请问各位如何看待这种编程习惯?
    谢谢!
11 回复
#2
xyt_bluesky2008-09-10 12:27
哈哈,如果声明变量时你能考虑到所有的变量,并且到后面的程序中你能记得你声明的了什么变量。那么你把所有变量声明在一起也没有什么。但是,何必呢?我们何不在需要时再声明?所以啊,我个人也是“在首次使用声明变量前声明他”
#3
newyj2008-09-10 12:28
我觉得这样会更清晰
还有就是 可以更好的 合理使用内存
在用到时候 再分配内存(不知道是否正确)
个人感觉 还请指教 补充

[[it] 本帖最后由 newyj 于 2008-9-10 12:31 编辑 [/it]]
#4
BBGASJ2008-09-10 12:39
那么再问一下,这种习惯是否适合C?

我所见过的C都是统一放在开头。
#5
blueboy820062008-09-10 13:09
[bo][un]newyj[/un] 在 2008-9-10 12:28 的发言:[/bo]
还有就是 可以更好的 合理使用内存
在用到时候 再分配内存(不知道是否正确)

声明语句,不分配内存吧...
#6
newyj2008-09-10 13:18
[bo][un]blueboy82006[/un] 在 2008-9-10 13:09 的发言:[/bo]


声明语句,不分配内存吧...

那定义 是否 是用到变量的时候再分配内存呢?
#7
blueboy820062008-09-10 13:18
对于一般的变量,LZ所说的方法自然是没问题的,也是很好的;
它的一个显然的好处是:当源代码很长时,我们在程序中首次见到一个变量,在不清楚它的意义时,不用到文件头的定义里去找(这样很费事...),而是直接在它出现的前几行中找到它的定义就好...(当然,一些很显然的循环变量,意义显然的话,就看个人习惯了...)
但,像类里面的一些东西,这样做有时就会有问题,要注意语法了...像前向声明,友元这些,就得另考虑了...
#8
blueboy820062008-09-10 13:25
回复 6# newyj 的帖子
我们知道,所谓分配内存分为:静态分配和动态分配;
在编译时就分配的,像数组,就是静态分配...
动态分配在程序运行时进行...
而所谓的定义语句,实际上就是为变量分配内存的过程啊...
所以,定义当然要分配内存啦...
#9
BlueMouse2008-09-10 13:30
我个人认为呢!声明在开始每个模块的开始处最好!因为知道那个变量做什么用了之后再往下看代码就容易多了!

很难想象你本来看代码好好的冒出一个变量来不知道做什么用的!呵呵!

但其实在那都一样! 最重要的是给变量取我好名字或者写个明白的注释!
#10
xmnathan2008-09-10 15:16
全局的就只能写前面咯  寿命就在一个模块内的就写模块开头咯
#11
守鹤2008-09-10 19:44
我个人认为变量不要声明的太多,尽量低存储量,如果变量太多了,会影响程序的运行效率的
#12
newyj2008-09-10 20:01
[bo][un]blueboy82006[/un] 在 2008-9-10 13:25 的发言:[/bo]

我们知道,所谓分配内存分为:静态分配和动态分配;
在编译时就分配的,像数组,就是静态分配...
动态分配在程序运行时进行...
而所谓的定义语句,实际上就是为变量分配内存的过程啊...
所以,定义当然要分配内存啦...[ ...


例如:
int main(){
  int i=1;
  cout<<......;
  int j=2;
  cout<<......;
  return 0;
}
只是个例子 没有 写全
我是想问 分配内存的时候 是把i和j一起分配内存
还是先定义i 就给 i  分配内存
用到了j再给j分配内存
不知道说明白了不
1