繁体   English   中英

在C ++中声明int对象

[英]Declaring int object in c++

我是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 有什么事?

编写int c; 初始化c (除非c是在全局范围内或具有static存储)。 初始化花费了CPU时钟周期,因此C ++允许程序员放弃这种不必要的CPU开销,但有可能导致程序不稳定。

实际上,在C ++中读取未初始化变量的行为是不确定的 (除非它是charsigned charunsigned char )。 永远不要做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM