我在技术面试中遇到了一些问题,我认为我知道,但想要仔细检查(他们说我通过了,但我不确定这些):
在类方法中声明的变量...可以在该方法之外使用,例如在另一个方法中吗?(我说不)
可以将方法中声明的变量作为参数传递给另一个方法吗? (我说是,但我不确定)
这是一个入门级的C++职位,我习惯于C,所以我想仔细检查我对C++/OO概念的理解.
类方法中的变量在该方法中实例化并完全包含在该方法中,只能在该方法中使用。它的寿命是有限的。 编辑:澄清一下,我并不是说它不能传递给函数作用域内的另一个函数调用,我不是在谈论实例化成员变量或静态变量。
是的,如果从现有方法中调用该方法,则可以将其传递给另一个方法。为什么?因为它的生命周期与父方法相关,而不是从方法内部调用的方法。
让我举例说明:
//aVar does not exist.
int foo(){
int aVar = 1; //it's been born
cout << doSomething(aVar); // still alive
return aVar; //still alive but a copy is being returned from the function. Not aVar itself!
} // it's dead, man
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
474 次 |
| 最近记录: |