Mam vector<CustomClass*>i umieszczam dużo elementów w wektorze i potrzebuję szybkiego dostępu, więc nie używam listy. Jak ustawić początkowy rozmiar wektora (np. Na 20 000 miejsc, żeby uniknąć kopiowania przy wstawianiu nowego)?
Mam vector<CustomClass*>i umieszczam dużo elementów w wektorze i potrzebuję szybkiego dostępu, więc nie używam listy. Jak ustawić początkowy rozmiar wektora (np. Na 20 000 miejsc, żeby uniknąć kopiowania przy wstawianiu nowego)?
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to...
Sekcja 3.6.1 / 1 ze standardu C ++ zawiera: Program powinien zawierać funkcję globalną zwaną main , która jest wyznaczonym początkiem programu. Rozważmy teraz ten kod, int square(int i) { return i*i; } int user_main() { for ( int i = 0 ; i < 10 ; ++i ) std::cout << square(i)...
Jak w C ++ znaleźć typ
Właśnie zmieniłem moje pliki .m na .mm i używam C ++. Czy jest sposób, aby zrobić to samo w Swift?
Poniższy kod generuje różne wyniki w trybie debugowania i trybie wydania (przy użyciu programu Visual Studio 2008): int _tmain(int argc, _TCHAR* argv[]) { for( int i = 0; i < 17; i++ ) { int result = i * 16; if( result > 255 ) { result = 255; } printf("i:%2d, result = %3d\n",...
OK, info break wyświetla punkty przerwania, ale nie w formacie, który dobrze by działał przy ich ponownym użyciu za pomocą --command, jak w tym pytaniu . Czy GDB ma metodę zrzucania ich do pliku, który można ponownie wprowadzić? Czasami podczas sesji debugowania konieczne jest ponowne...
O ile wiem, nie ma powodu, dla którego nie powinienem mieć możliwości przekazywania referencji do wskaźnika w C ++. Jednak moje próby kończą się niepowodzeniem i nie mam pojęcia, dlaczego. Oto co robię: void myfunc(string*& val) { // Do stuff to the string pointer } // sometime later { //...
Jeśli istnieją dwa wątki uzyskujące dostęp do zmiennej globalnej, wiele samouczków mówi, że zmienna jest ulotna, aby zapobiec buforowaniu zmiennej przez kompilator w rejestrze, a tym samym niepoprawnej aktualizacji. Jednak dwa wątki, które uzyskują dostęp do wspólnej zmiennej, są czymś, co wymaga...
AFAIK: C ++ udostępnia trzy różne typy polimorfizmu. Funkcje wirtualne Przeciążanie nazw funkcji Przeciążanie operatorów Oprócz powyższych trzech typów polimorfizmu istnieją inne rodzaje polimorfizmu: w czasie wykonywania czas kompilacji polimorfizm ad hoc parametryczny...
Wiem, czym są funktory i kiedy używać ich z stdalgorytmami, ale nie rozumiem, co mówi o nich Stroustrup w C ++ 11 FAQ . Czy ktoś może wyjaśnić, co std::bindi std::functionkiedy należy ich używać, i podać przykłady dla
Poniższy kod przechodzi w nieskończoną pętlę w GCC: #include <iostream> using namespace std; int main(){ int i = 0x10000000; int c = 0; do{ c++; i += i; cout << i << endl; }while (i > 0); cout << c << endl; return 0; } Oto umowa: Przepełnienie...
Czytałem, że konwersja wskaźnika funkcji na wskaźnik danych i odwrotnie działa na większości platform, ale nie gwarantuje, że zadziała. Dlaczego tak się dzieje? Czy oba nie powinny być po prostu adresami do pamięci głównej, a zatem powinny być kompatybilne?
Czy std::make_uniquema jakieś korzyści związane z wydajnością std::make_shared? W porównaniu z tworzeniem ręcznym std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new
Książka C ++, którą czytałem, stwierdza, że kiedy wskaźnik jest usuwany za pomocą deleteoperatora, pamięć w miejscu, na które wskazuje, jest „zwalniana” i można ją nadpisać. Stwierdza również, że wskaźnik będzie nadal wskazywał tę samą lokalizację, dopóki nie zostanie ponownie przypisany lub...
Widziałem ten przykład w dokumentacji cppreference dlastd::numeric_limits #include <limits> #include <iostream> int main() { std::cout << "type\tlowest()\tmin()\t\tmax()\n\n"; std::cout << "uchar\t" << +std::numeric_limits<unsigned char>::lowest()...
To jest w zasadzie pytanie, czy istnieje „właściwy” sposób wdrożenia operator<<? Czytając to widzę, że coś takiego: friend bool operator<<(obj const& lhs, obj const& rhs); jest lepszy od czegoś takiego jak ostream& operator<<(obj const& rhs); Ale nie do końca...
Wiem, że kompilator czasami inicjuje pamięć za pomocą pewnych wzorców, takich jak 0xCDi 0xDD. Chcę wiedzieć, kiedy i dlaczego tak się dzieje. Kiedy Czy jest to specyficzne dla używanego kompilatora? Czy malloc/newi jak free/deletedziała w odniesieniu do tego w ten sam sposób? Czy jest to...
Jako początkujący programista C ++ istnieją pewne konstrukcje, które nadal wydają mi się bardzo niejasne, jednym z nich jest const. Możesz go używać w tak wielu miejscach i przy tak wielu różnych efektach, że dla początkującego prawie niemożliwe jest wyjść z życiem. Czy jakiś guru C ++ wyjaśni raz...
Zawsze zastanawiałem się, dlaczego automatyczne ustawienie wskaźnika na NULL po usunięciu nie jest częścią standardu. Jeśli zostanie to rozwiązane, wiele awarii z powodu nieprawidłowego wskaźnika nie wystąpi. Powiedziawszy jednak, że przychodzi mi do głowy kilka powodów, dla których norma...