假设以下代码中有一个带有变量的结构,第二个结构有一个用于初始化向量的函数
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文件中的每个点进行检查在分配之前检查两个决定者?