Rumah >pembangunan bahagian belakang >C++ >Mengapa `std::vector::reference` Tidak Mengembalikan `bool&`?
Mengapa vektor
Dalam C , std::vector Isunya Dalam contoh yang disediakan, fungsi callIfToggled digunakan untuk menogol nilai bool dan memanggil kaedah pada struct. Apabila cuba menghantar rujukan kepada unsur std::vector Sebabnya Dalam pengkhususan vektor bool, vektor Penyelesaian Contoh (Vektor Char): Atas ialah kandungan terperinci Mengapa `std::vector::reference` Tidak Mengembalikan `bool&`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!#include <vector>
struct A
{
void foo() {}
};
template<typename T>
void callIfToggled(char v1, char &v2, T &t)
{
if (v1 != v2)
{
v2 = v1;
t.foo();
}
}
int main()
{
std::vector<char> v = { false, true, false };
const char f = false;
A a;
callIfToggled(f, v[0], a);
callIfToggled(f, v[1], a);
callIfToggled(f, v[2], a);
}