Pytania otagowane jako c++

Pytania na temat C ++, skompilowanego, uniwersalnego języka programowania o typie statycznym, o dowolnej formie, z wieloma paradygmatami.


13
Czy rozsądnie jest strzec zerowania każdego pojedynczego, pozbawionego odniesień wskaźnika?
Przy nowej pracy dostaję oznaczenie w recenzjach kodu dla kodu w następujący sposób: PowerManager::PowerManager(IMsgSender* msgSender) : msgSender_(msgSender) { } void PowerManager::SignalShutdown() { msgSender_->sendMsg("shutdown()"); } Powiedziano mi, że ostatnia metoda powinna brzmieć: void PowerManager::SignalShutdown() { if (msgSender_) { msgSender_->sendMsg("shutdown()"); } } tzn. muszę ustawić NULLosłonę wokół msgSender_zmiennej, nawet jeśli jest ona …

3
Dlaczego musimy umieszczać prywatnych członków w nagłówkach?
Zmienne prywatne są sposobem na ukrycie złożoności i szczegółów implementacji dla użytkownika klasy. Jest to dość fajna funkcja. Ale nie rozumiem, dlaczego w c ++ musimy umieścić je w nagłówku klasy. Widzę dwie irytujące wady tego: Zaśmieca nagłówek użytkownika Wymusza ponowną kompilację wszystkich bibliotek klienckich przy każdej modyfikacji elementów wewnętrznych …
62 c++  headers 


7
Używanie wyliczeń zakresowych dla flag bitowych w C ++
enum X : int(C #) lub enum class X : int(C ++ 11) jest typem, który ma ukryte wewnętrzne pole int, które może pomieścić dowolną wartość. Ponadto Xw wyliczeniu zdefiniowano szereg predefiniowanych stałych . Możliwe jest rzutowanie wyliczenia na jego liczbę całkowitą i odwrotnie. Dotyczy to zarówno C #, jak …

10
Czy lepsze jest Show () + Hide () lub SetVisible (bool widoczne)?
Co jest lepsze i dlaczego? (Z punktu widzenia projektowania interfejsu): a) Mieć dwa Show()i Hide()funkcje b) Aby mieć jedną SetVisible(bool visible)funkcję EDYCJA: Na przykład niektóre obiekty mają stan widoczności i ta funkcja służy do jego zmiany. c) wszystkie trzy Show(), Hide(), SetVisible(bool visible)funkcje
59 java  c++  interfaces 

9
std :: shared_ptr jako ostateczność?
Właśnie oglądałem strumienie „Going Native 2012” i zauważyłem dyskusję std::shared_ptr. Byłem nieco zaskoczony, słysząc nieco negatywny pogląd Bjarne'a std::shared_ptri jego komentarz, że powinien on zostać użyty jako „ostateczność”, gdy czas życia obiektu jest niepewny (co, moim zdaniem, rzadko powinno tak być). Czy ktoś chciałby wyjaśnić to nieco głębiej? Jak możemy …

13
Filozofia stojąca za niezdefiniowanym zachowaniem
Specyfikacje C \ C ++ pomijają wiele zachowań, które kompilatory mogą wdrożyć na swój własny sposób. Jest wiele pytań, które ciągle zadawane są tutaj o to samo i mamy kilka świetnych postów na ten temat: https://stackoverflow.com/questions/367633/what-are-all-the-common-undefined-behaviour-that-ac-programmer-should-know-abo https://stackoverflow.com/questions/4105120/what-is-undefined-behavior https://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points Moje pytanie nie dotyczy tego, co to jest niezdefiniowane zachowanie, czy jest …


11
Nowoczesna recenzja Java [zamknięta]
Programuję od kilku lat i zacząłem w Javie, a w swoim czasie znalazłem wiele różnych źródeł twierdzących, że Java jest w jakiś sposób gorszym językiem. Wiem, że każdy język ma swoje mocne i słabe strony, ale wiele rzeczy, które czytałem o Javie, wydają się być przestarzałe. Najczęściej cytowanym powodem gorszej …

9
Czytelność a łatwość konserwacji, specjalny przypadek pisania zagnieżdżonych wywołań funkcji
Mój styl kodowania dla zagnieżdżonych wywołań funkcji jest następujący: var result_h1 = H1(b1); var result_h2 = H2(b2); var result_g1 = G1(result_h1, result_h2); var result_g2 = G2(c1); var a = F(result_g1, result_g2); Niedawno zmieniłem na dział, w którym bardzo często stosuje się następujący styl kodowania: var a = F(G1(H1(b1), H2(b2)), G2(c1)); …

7
Dlaczego w C ++ nie ma konstrukcji „nareszcie”?
Obsługa wyjątków w C ++ jest ograniczona do try / throw / catch. W przeciwieństwie do Object Pascal, Java, C # i Python, nawet w C ++ 11 finallykonstrukcja nie została zaimplementowana. Widziałem okropnie dużo literatury C ++ omawiającej „bezpieczny kod wyjątku”. Lippman pisze, że bezpieczny kod wyjątku jest ważnym, …
57 c++  exceptions 

7
Dlaczego istnieje tak wiele klas ciągów w obliczu std :: string?
Wydaje mi się, że wiele większych bibliotek C ++ ostatecznie tworzy własny ciąg znaków. W kodzie klienta albo trzeba użyć jednego z biblioteki ( QString, CString, fbstringitd, jestem pewien, że każdy może wymienić tylko kilka) lub zachować konwersji pomiędzy standardowym typu i jednym z zastosowań bibliotecznych (który większość czasu wiąże …
56 c++ 

3
Co to jest lambda i dlaczego miałaby być przydatna? [Zamknięte]
Do tej pory słyszałem o: Rachunek Lambda Programowanie lambda Wyrażenia lambda Funkcje Lambda Co wydaje się mieć związek z programowaniem funkcjonalnym ... Najwyraźniej zostanie zintegrowany z C ++ 1x, więc lepiej zrozumiem teraz: http://en.wikipedia.org/wiki/C%2B%2B0x#Lambda_functions_and_expressions Czy ktoś może krótko zdefiniować, czym są rzeczy lambdas i podać, gdzie mogą być przydatne?

15
Dlaczego dysponujemy przyrostem Postfiksa?
Oświadczenie : Doskonale znam semantykę przyrostu przedrostka i przyrostka. Więc proszę, nie wyjaśniaj mi, jak działają. Czytając pytania na temat przepełnienia stosu, nie mogę nie zauważyć, że programiści wpadają w zamieszanie przez operatora przyrostu Postfiksa w kółko. Z tego wynika następujące pytanie: czy jest jakikolwiek przypadek użycia, w którym przyrostek …
55 c++  c  postfix 

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.