Eine Bool-Referenz aus std :: vector <bool> @ hol
Ich weiß, dass es eine schlechte Angewohnheit ist, aber ich würde gerne einen Workaround oder einen Hack für dieses Problem kennen. Ich habe eine Klasse wie diese:
template <class T>
class A : std::vector<T> {
T& operator()(int index) { // returns a _reference_ to an object
return this->operator[](index);
}
};
Es ist möglich, Dinge wie diese zu tun:
A<int> a{1,2,3,4};
a(3) = 10;
Aber es funktioniert nicht mehr, wenn jemand @ verwend bool als Vorlagenparameter
A<bool> a{true, false, true};
std::cout << a(0) << std::endl; // not possible
if (a(1)) { /* something */ } // not possible
std::vector<bool>
ist eine spezialisierte Version von vector http: //www.cplusplus.com/reference/vector/vector-bool) was solche Dinge nicht erlaubt.
Gibt es eine Möglichkeit, eine Referenz der booleschen Variablen aus std :: Vector zu erhalten? Oder irgendeine andere Lösung?