我想在其范围的中间更改变量名称以便于阅读。
例如:
while(condition){
std::vector<big_type> all_things;
//some operation like pop_back is happing on all_things
//now all_things contains just the good_things
auto& good_things=all_things;
//do some operation on good_things which is actually on all_things
}
我这样做是因为我买不起这个载体。
这是正确的方法吗?我现在害怕我的意思是让它更具可读性,导致可读性降低。还有其他建议吗?
修改
问题是:获取所有对象然后过滤它们。之后,使用过滤后的对象,但我发现很难在过滤时将其命名为all_things。同时,我不能在过滤之前将其命名为good_things。所以,我正在寻找一种可变重命名方式。
答案 0 :(得分:0)
我认为如果你一定想跟踪善意,最好写下面的内容
template <class T> struct MaybeGood {
T obj;
bool good;
MaybeGood (const T& o, bool g) : obj(o), good(g) {}
MaybeGood (bool g) : good(g) {}
};
............
while(condition){
MaybeGood<std::vector<big_type> > obj(false);
//work with obj.obj to make it good
obj.good = true; //both for debugging and for the readability
//enjoy the object :-)
}