Pytania otagowane jako c++-faq

Udostępnia wspólne C ++, edytowane przez społeczność FAQ

9
Dlaczego nietrwałość nie jest uważana za użyteczną w programowaniu wielowątkowym w C lub C ++?
Jak wykazałem w odpowiedzi, którą niedawno opublikowałem, wydaje mi się, że jestem zdezorientowany użytecznością (lub jej brakiem) volatilew kontekstach programowania wielowątkowego. Rozumiem, że za każdym razem, gdy zmienna może zostać zmieniona poza przepływem kontroli fragmentu kodu uzyskującego do niej dostęp, ta zmienna powinna być zadeklarowana jako taka volatile. Takie sytuacje …

7
Jakie są zalety korzystania z nullptr?
Ten fragment kodu koncepcyjnie robi to samo dla trzech wskaźników (bezpieczna inicjalizacja wskaźnika): int* p1 = nullptr; int* p2 = NULL; int* p3 = 0; A więc jakie są zalety przypisywania wskaźników nullptrnad przypisywaniem im wartości NULLlub 0?
163 c++  c++11  null  c++-faq  nullptr 

5
Jaka jest właściwa deklaracja głównego?
Jaka jest poprawna sygnatura mainfunkcji w C ++? Jaki jest prawidłowy typ zwracanej wartości i co to znaczy zwracać wartość main? Jakie są dozwolone typy parametrów i jakie mają znaczenie? Czy to jest specyficzne dla systemu? Czy te zasady zmieniały się z czasem? Co się stanie, jeśli je naruszę?
147 c++  main  c++-faq 

3
Które manipulatory Iomanip są „lepkie”?
Niedawno miałem problem z utworzeniem pliku stringstream, ponieważ błędnie założyłem, std::setw()że wpłynie to na strumień ciągu dla każdego wstawienia, dopóki nie zmienię go wyraźnie. Jednak po włożeniu jest zawsze rozbrojony. // With timestruct with value of 'Oct 7 9:04 AM' std::stringstream ss; ss.fill('0'); ss.setf(ios::right, ios::adjustfield); ss << setw(2) << timestruct.tm_mday; …
140 c++  c++-faq 



5
Przeciążanie operatorów dostępu do członków ->,. *
Rozumiem najwięcej przeciążanie operatora, z wyjątkiem operatorów dostępowych członkiem ->, .*, ->*itd. W szczególności, co jest przekazywane do tych funkcji operatora, a co powinno zostać zwrócone? W jaki sposób operator funkcjonuje (np. operator->(...)) Wie, do którego elementu członkowskiego się odwołuje? Czy to może wiedzieć? Czy to w ogóle musi wiedzieć? …

7
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 polimorfizm Wiem, że polimorfizm w czasie wykonywania można osiągnąć za pomocą funkcji wirtualnych, a polimorfizm statyczny można …


4
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ż …

10
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, że zmienne, do których dostęp jest bardzo …

3
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 pytanie brzmi, jakie są różne implementacje inteligentnych wskaźników w C …




Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.