Pytania oznaczone «c++-faq»

130
Polimorfizm w C ++

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...

127
Kiedy uczynić typ nieruchomym w C ++ 11?

Byłem zaskoczony, że to nie pojawiło się w moich wynikach wyszukiwania, pomyślałem, że ktoś by zapytał o to wcześniej, biorąc pod uwagę użyteczność semantyki ruchu w C ++ 11: Kiedy muszę (lub czy jest to dobry pomysł) uczynić klasę nieruchomą w C ++ 11? ( To znaczy przyczyny inne niż problemy ze...

122
Prawidłowe użycie stosu i sterty w C ++?

Od jakiegoś czasu zajmuję się programowaniem, ale to głównie Java i C #. Właściwie nigdy nie musiałem samodzielnie zarządzać pamięcią. Niedawno zacząłem programować w C ++ i jestem trochę zdezorientowany, kiedy powinienem przechowywać rzeczy na stosie, a kiedy przechowywać je na stercie. Rozumiem,...

121
Jakie implementacje C ++ Smart Pointer są dostępne?

Porównania, zalety, wady i kiedy używać? Jest to spin-off z wątku usuwania śmieci, w którym to, co uważałem za prostą odpowiedź, wygenerowało wiele komentarzy na temat niektórych konkretnych implementacji inteligentnych wskaźników, więc wydawało się, że warto rozpocząć nowy post. Ostatecznie...

115
Jak przeładować std :: swap ()

std::swap()jest używany przez wiele kontenerów standardowych (takich jak std::listi std::vector) podczas sortowania, a nawet przypisywania. Jednak standardowa implementacja programu swap()jest bardzo uogólniona i raczej nieefektywna dla typów niestandardowych. W ten sposób wydajność można uzyskać...

106
Co to są przezroczyste komparatory?

W C ++ 14 wydaje się, że kontenery asocjacyjne zmieniły się z C ++ 11 - [Associative.reqmts] / 13 mówi: Szablony funkcji składowej find, count, lower_bound, upper_bound, i equal_rangenie powinien uczestniczyć w rozdzielczości przeciążenia chyba typ Compare::is_transparentistnieje. Jaki jest...

98
Jaka jest poprawna odpowiedź na cout << a ++ << a ;?

Niedawno w wywiadzie pojawiło się następujące pytanie typu obiektywnego. int a = 0; cout << a++ << a; Odpowiedzi: za. 10 b. 01 c. niezdefiniowane zachowanie Odpowiedziałem na wybór b, tj. Wyjście będzie „01”. Ale ku memu zdziwieniu później ankieter powiedział mi, że prawidłowa...

94
Jaki jest sens wskaźników funkcji?

Mam problem ze zrozumieniem użyteczności wskaźników funkcji. Myślę, że w niektórych przypadkach może się to przydać (w końcu istnieją), ale nie przychodzi mi do głowy przypadek, w którym lepiej lub nieuniknione jest użycie wskaźnika funkcji. Czy możesz podać przykład dobrego wykorzystania...