Staram się przekonać mój zespół, aby zezwalał na stosowanie wyjątków w C ++ zamiast zwracania wartości bool isSuccessfullub wyliczenia z kodem błędu. Nie mogę jednak odeprzeć jego krytyki. Rozważ tę bibliotekę: class OpenFileException() : public std::runtime_error { } void B(); void C(); /** Does blah and blah. */ void B() …
Jestem zdezorientowany, jakie mogą być problemy, jeśli konstruktor zostanie odziedziczony z klasy podstawowej. Cpp Primer Plus mówi: Konstruktory różnią się od innych metod klasowych tym, że tworzą nowe obiekty, podczas gdy inne metody są wywoływane przez istniejące obiekty . Jest to jeden z powodów, dla których konstruktory nie są dziedziczone …
Jestem wielkim fanem pisania assertczeków w kodzie C ++ jako sposobu na złapanie przypadków podczas programowania, które nie mogą się zdarzyć, ale zdarzają się z powodu błędów logicznych w moim programie. Jest to ogólnie dobra praktyka. Zauważyłem jednak, że niektóre funkcje, które piszę (które są częścią złożonej klasy) mają 5+ …
Czy istnieje jakiś kompilator just-in-time dla skompilowanych języków, takich jak C i C ++? (Pierwsze imiona, które przychodzą na myśl, to Clang i LLVM! Ale nie sądzę, że obecnie je obsługują.) Wyjaśnienie: Myślę, że oprogramowanie może skorzystać z informacji zwrotnych dotyczących profilowania środowiska wykonawczego i agresywnie zoptymalizowanej ponownej kompilacji punktów …
Niedawno zacząłem uczyć się pisać kod i w swojej książce natknąłem się na to pytanie. „Dlaczego wartość logiczna jest przechowywana w komputerze jako bajt, gdy wymaga tylko jednego bitu?” czy ktoś może rzucić więcej światła na to pytanie?
Wiem, że dość często słyszałem, że C zazwyczaj ma przewagę wydajności nad C ++. Tak naprawdę nie myślałem o niczym innym, dopóki nie zdałem sobie sprawy, że MSVC wydaje się nawet nie obsługiwać najnowszego standardu C, ale najnowszy obsługuje C99 (o ile mi wiadomo). Planowałem napisać bibliotekę z kodem do …
Przeprowadziłem 3 różne eksperymenty z listami i wektorami C ++. Te z wektorami okazały się bardziej wydajne, nawet przy dużej ilości wstawień w środku. Stąd pytanie: w którym przypadku listy mają większy sens niż wektory? Jeśli wektory wydają się w większości przypadków wydajniejsze i biorąc pod uwagę podobieństwo ich członków, …
Problem, który mam, polega na tym, że większość książek w C ++, które czytam, wydaje prawie zawsze na składnię i podstawy języka, np. forPętle while, tablice, listy, wskaźniki itp. Ale nigdy nie wydają się budować niczego, co byłoby wystarczająco proste do nauki, a jednocześnie wystarczająco praktyczne, abyś zrozumiał filozofię i …
Wszyscy zdecydowanie używaliśmy typedefsi #defineraz lub drugi. Dzisiaj, pracując z nimi, zacząłem się nad czymś zastanawiać. Rozważ poniższe 2 sytuacje, aby użyć inttypu danych o innej nazwie: typedef int MYINTEGER i #define MYINTEGER int Podobnie jak w powyższej sytuacji, w wielu sytuacjach możemy bardzo dobrze osiągnąć coś za pomocą #define, …
Mam klasę reprezentującą listę osób. class AddressBook { public: AddressBook(); private: std::vector<People> people; } Chcę pozwolić klientom na iterację po wektorze ludzi. Pierwszą myślą, którą miałem, było po prostu: std::vector<People> & getPeople { return people; } Nie chcę jednak ujawniać klientowi szczegółów implementacji . Mogę chcieć zachować pewne niezmienniki, gdy …
Kiedy po raz pierwszy nauczyłem się języka C ++, dowiedziałem się, że oprócz int, float itp. W tym języku istniały mniejsze lub większe wersje tych typów danych. Na przykład mógłbym wywołać zmienną x int x; or short int x; Główną różnicą jest to, że short int zajmuje 2 bajty pamięci, …
Zawsze zastanawiałem się, dlaczego kodujemy virtual void MyFunction() = 0; i nie pure virtual void MyFunction(); Czy istnieje odniesienie do podstawy tej decyzji?
Problem: Od dłuższego czasu martwię się o exceptionsmechanizm, ponieważ uważam, że tak naprawdę nie rozwiązuje tego, co powinien. ROSZCZENIE: Na ten temat toczą się długie debaty i większość z nich ma trudności z porównywaniem exceptionsi zwracaniem kodu błędu. To zdecydowanie nie jest tutaj temat. Próbując zdefiniować błąd, zgodziłbym się z …
Natknąłem się więc na wiele komentarzy / postów itp. Dotyczących bezpośredniego tworzenia plików makefile i tego, jak głupio jest to robić w 2015 roku. Zdaję sobie sprawę z narzędzi takich jak CMake, i faktycznie używam CMake dość często. Chodzi o to, że CMake po prostu tworzy plik Makefile dla Ciebie …
Rozważałem podjęcie nauki języka C ++ do projektowania aplikacji Metro i wtedy natknąłem się na C ++ / CX. Czy aplikacje Metro mogą być kodowane w C ++ 11? Czy wymagają C ++ / CX do działania? A czym dokładnie jest C ++ / CX? Czy można utworzyć aplikację Metro …
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.