Witam mam napisać program w którym będę miał wektor struktur i wskaźnik do tego wektora, nie wiem jak za pomocą wskaźników uzupełnić pola struktur tego wektora w osobnej funkcji, ktoś zna odpowiedź?
0
1
Zakładając struct Foo{ int bar; int baz; };
oraz vector<int>* qux
Poniższe są semantycznie identyczne
(*qux)[0].bar = 42; // UB jeśli wektor ma 0 elementów
qux->operator[](0).bar = 42; // UB jeśli wektor ma 0 elementów
vector<int>& ref = *qux;
ref[0].bar = 42; // UB jeśli wektor ma 0 elementów
Ponadto możesz użyć funkcji at
, która sprawdza czy indeks znajduje się w wektorze i, jeśli nie, rzuca wyjątek:
qux->at(0).bar = 42
vector<int>& ref = *qux;
ref.at(0).bar = 42;