Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++ vector ako zistiť počet položiek?

Dobrý deň. Prosím Vás

unique_ptr<HotKeyRelations> vec(new HotKeyRelations {0});
vec->resize(0);
wcout << L"Vector length:" << vec->size() << endl;

a vypíše číslo 5. Prečo 5 a nie 0? Vracia size počet položiek alebo dačo iné? Velkosť v byteoch? Potrebujem tento problém už raz a navždy vyriešiť lebo som z toho na prášky.

Změna kategorie, původně: Software (host)

Předmět Autor Datum
http://www.cplusplus.com/reference/vector/vector/size/ nezkoušel jsi vector.size() a vector.resize(…
Jan Fiala 05.08.2020 07:38
Jan Fiala
Ahoj bola tam iná chyba. Moja nepozornosť. a čo sa týka smartpointers, vector bol vytvorený na hald… poslední
libertarian7 06.08.2020 20:15
libertarian7

Ahoj bola tam iná chyba. Moja nepozornosť.

a čo sa týka smartpointers, vector bol vytvorený na halde, tak metódy objekta na ktorý ukazujú sa volajú cez -> Inak a IDE mi pomocou šikovnej statickej analýzy napovie, ktorý operátor použiť.

je síce pravda že nejaké metódy má dostupné aj cez . (swap, reset, unique), ale to sú metódy priamo toho typu unique_ptr (ktorý je vytvorený na stacku), nie metódy typu (vector) na ktorý pointer ukazuje.

Zpět do poradny Odpovědět na původní otázku Nahoru