Języki takie jak C, Java i C ++ wszystko wymaga nawiasów wokół całego wyrażenia stosowane w sposób if, whilelub switch. if (true) { // Do something } w przeciwieństwie do if true { // Do something } Wydaje mi się to dziwne, ponieważ nawiasy są zbędne. W tym przykładzie truejest …
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 …
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 …
Pracuję więc nad projektem oprogramowania wykorzystującym C dla określonego procesora. Zestaw narzędzi obejmuje możliwość kompilacji zarówno C, jak i C ++. Do tego, co robię, w tym środowisku nie jest dostępna dynamiczna alokacja pamięci, a program jest ogólnie dość prosty. Nie wspominając o tym, że urządzenie prawie nie ma mocy …
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 …
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
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 …
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 …
Zasadniczo rozumiem, jak używać wskaźników, ale nie wiem, jak najlepiej ich używać w celu lepszego programowania. Jakie są dobre projekty lub problemy do rozwiązania przy użyciu wskaźników, dzięki czemu mogę je lepiej zrozumieć?
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 …
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)); …
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, …
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 …
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?
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 …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.