如果变量的使用取决于决策者,则初始化变量是否是个好习惯?

时间:2019-04-11 08:58:11

标签: c++

假设以下代码中有一个带有变量的结构,第二个结构有一个用于初始化向量的函数

int decider1 = //userinput;
int decider2 = //userinput;
struct randomStruct
{
    std::vector<double> foo;
    std::vector<double> foo2;
    std::vector<double> foo3;
};

struct randomStruct2
{ 
   randomStruct foo4;
   void setupArray();
};

现在我们有了一个全局变量,仅在用户决定时才使用

void randomStruct2::setupArray() 
{     
      foo4.foo.resize(1);
      foo4.foo2.resize(1);
      if(decider1 && decider2)
      {
         foo4.foo.resize(1);
      }
}

我遇到了一些崩溃,另一位开发人员试图仅仅根据decider1来赋值,而它当然是一个空向量。

现在我的问题是从开发的角度来看,这是一个好的习惯,只是初始化矢量而不管用户决定如何避免将来再发生崩溃,还是我应该在其他.cpp文件中的每个点进行检查在分配之前检查两个决定者?

0 个答案:

没有答案