Portál AbcLinuxu, 12. května 2025 12:25
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. Ako zistím počet položiek kontaineru vector? Alebo ak to nevie vrátiť ani počet položiek, tak poradte kontainer ktorý to vie. Mám STL a mám aj Boost. Ale myslel som si, že základná knižnica C++ bude vedieť vrátiť aspoň počet položiek poľa, ale evidentne to vracia niečo iné.
Řešení dotazu:
na prvním řádečku se vyrobí unique_ptr na typ HotKeyRelations co se menuje vec a je do něj strčená nová instance třídy Hotkeyrelations inicialiozovaná nuličkou jakože s prvním argumentem konstruktoru
noa votázka je coje vlastně zač tamta třída HotkeyRelations a jestli to je jakože fakt vektor a jestli nějak neoverriduje ty jeho metody nebo něco :O ;D
asi jako budeš musek ukázat víc zdrojáčku ;D
typedef vector<shared_ptr<HotKeyRelation>> HotkeyRelations;Problém je medzitým vyriešený.
by bylo moc divný kdyby se vector takle choval :D ;D
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.