110得票5回答
何时使用对象实例变量而不是将参数传递给方法

如何决定将参数传递给方法还是将它们声明为对象实例变量,这些变量对对象的所有方法都可见? 我更喜欢在类的最后将实例变量保存在列表中,但随着程序的增长,这个列表会变得越来越长。我想如果一个变量被经常传递,它应该只对需要它的所有方法可见,但是我也会想,“如果一切都是公开的,就根本不需要传递任何东西!”

106得票8回答
不使用var关键字声明变量

在w3schools上有这样的写道: 如果你声明一个变量,而没有使用“var”,那么这个变量总是会变成全局变量。 在函数内部声明全局变量有用吗?我可以想象在某些事件处理程序中声明一些全局变量,但这有什么好处呢?更好地利用RAM?

104得票3回答
我该如何在Perl中使用"my"关键字?

我经常在在线Perl示例脚本中看到变量名前面有my关键字,但我不知道它的含义。我尝试阅读手册页面和其他网站,但是由于我看到的用法与手册上的差异,我很难确定它是用来做什么的。 例如,在这篇文章中,它被用于获取数组长度: Find size of an array in Perl 但是手册上说: ...

100得票1回答
这个[1]在结构体声明的末尾有什么用途?

我在查阅我的MSP430微控制器的头文件时,偶然发现了在<setjmp.h>中的以下内容: /* r3 does not have to be saved */ typedef struct { uint32_t __j_pc; /* return address */ ...

97得票8回答
类声明大括号后要加分号

在C++类中,为什么在右括号后要加分号?我经常忘记它,导致编译器错误,浪费时间。对我来说似乎有些多余,但这不太可能是情况。人们真的会这样做吗: 在C++中,分号用于标记语句的结尾。类定义被视为一个声明,并且必须以分号结尾,就像其他声明一样。因此,在类定义的最后一个右括号后面需要加上分号。cl...

91得票3回答
新的C++11成员初始化特性在声明时是否使初始化列表变得过时了?

在C++11中,我们现在可以在头文件声明中初始化类成员:class aClass { private: int mInt{100}; public: aClass(); ~aClass(); }; 所以我有点困惑。传统上构造函数...

89得票10回答
在C++中先声明对象再初始化的问题

在C++中是否可能声明变量而不实例化它?我想要做类似这样的事情:Animal a; if( happyDay() ) a( "puppies" ); //constructor call else a( "toads" ); 基本上,我只是想在条件语句外声明一个变量 a,以便...

89得票7回答
在C语言中,你可以和不能声明新的变量?

我听说(可能是从老师那里)应该在程序/函数的开头声明所有变量,而在语句中声明新变量可能会导致问题。但是当我读 K&R 时,我遇到了这句话:"变量的声明(包括初始化)可以跟随引入任何复合语句的左花括号,不仅仅是开始函数的花括号。"他还举了一个例子:if (n > 0){ i...

89得票3回答
GNU C 中的 __attribute__

为什么和如何在GNU C程序中使用__attribute__?

87得票2回答
JavaScript对象的属性能否引用同一对象的另一个属性?

我最近尝试创建一个像这样的对象:var carousel = { $slider: $('#carousel1 .slider'), panes: carousel.$slider.children().length }; 我的目的是通过将$('#carouse...