【发布时间】:2018-01-12 08:24:55
【问题描述】:
我是 C++ 新手,我正在解决一些简单的练习。当我遇到一种我无法解释的行为时,我正在解决一个问题。
我的函数接受 2 个数组作为参数,我必须返回这些数组中所有元素的总和。我的代码:
#include <vector>
using namespace std;
int arrayPlusArray(vector<int> a, vector<int> b){
int c=0;
for (auto k : a){
c += k;}
for (auto k : b){
c += k;}
return c;
}
这行得通,但是一旦我写了int c; 而不是int c=0;,它就不再正常工作了。我以为当我写int c; 时,它会将c 的值设置为0。怎么回事?
【问题讨论】:
-
也许你应该由此得出你认为错误的结论?
-
你需要初始化变量才能使用。
-
为您初始化静态和全局变量,因为默认初始化没有运行时开销,对于具有自动存储的变量也是如此。
标签: c++ object int declaration