Operacje na wskaźnikach do wektora

0

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ź?

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;

1 użytkowników online, w tym zalogowanych: 0, gości: 1