c++ - Getting a bool reference from std::vector<bool> -
i know it's bad habit, i'd know workaround or hack problem. have class this:
template <class t> class : std::vector<t> {   t& operator()(int index) { // returns _reference_ object     return this->operator[](index);   } };   it's possible things this:
a<int> a{1,2,3,4}; a(3) = 10;   but stops working if uses bool template parameter
a<bool> a{true, false, true}; std::cout << a(0) << std::endl; // not possible if (a(1)) { /* */ }   // not possible   std::vector<bool> specialized version of vector (http://www.cplusplus.com/reference/vector/vector-bool/) doesn't allow such things.
is there way how reference of boolean variable std::vector? or different solution?
is there way how reference of boolean variable std::vector?
no.
or different solution?
return typename std::vector<t>::reference instead of t&. bool, return vector's proxy type; others, return regular reference.
or specialise a<bool> use other vector<bool>.
or use other type (perhaps char, or simple class wrapping bool) instead of bool.
Comments
Post a Comment