Portál AbcLinuxu, 12. května 2025 12:25

Dotaz: C++ Ako zistiť počet položiek vectoru?

4.8.2020 22:27 libertarian7
C++ Ako zistiť počet položiek vectoru?
Přečteno: 431×
Odpovědět | Admin
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. 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:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.8.2020 00:05 _
Rozbalit Rozbalit vše Re: C++ Ako zistiť počet položiek vectoru?
Odpovědět | | Sbalit | Link | Blokovat | Admin
No to záleží co je HotKeyRelations za bazmek (Google našel jen tohle vlákno), protože voláš jeho resize() a size() a ne std::vectoru.

vec je jen ukazatel na HotKeyRelations instanci, ne vektor.
Gréta avatar 5.8.2020 00:07 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: C++ Ako zistiť počet položiek vectoru?
Odpovědět | | Sbalit | Link | Blokovat | Admin

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

Zelená energetická soustava založená na obnovitelnejch zdrojích energie versus realnej svět 🤡🇪🇸
5.8.2020 21:00 libertarian7
Rozbalit Rozbalit vše Re: C++ Ako zistiť počet položiek vectoru?
Ahoj, mal som tam inú chybu, z ktorej som si domyslel, že size vracia zlú hodnotu. Ten HotkeyRelations je:
typedef vector<shared_ptr<HotKeyRelation>> HotkeyRelations;
Problém je medzitým vyriešený.
Gréta avatar 6.8.2020 10:20 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: C++ Ako zistiť počet položiek vectoru?

by bylo moc divný kdyby se vector takle choval :D ;D

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.