重命名范围中间的变量

时间:2015-11-25 18:50:14

标签: c++ c++11 coding-style rename

我想在其范围的中间更改变量名称以便于阅读。

例如:

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。所以,我正在寻找一种可变重命名方式。

1 个答案:

答案 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 :-)
}