Reduce the number of #include files in header files. It will reduce build times. Instead, put include files in source code files and use forward declarations in header files. Przeczytałem to tutaj. http://www.yolinux.com/TUTORIALS/LinuxTutorialC++CodingStyle.html . Oznacza to, że jeśli klasa (klasa A) w pliku nagłówkowym nie musi używać rzeczywistej definicji niektórych …
Czytałem wiele komentarzy na temat programowania GUI, zarówno w języku C #, jak i C ++. Zauważyłem, że platforma .NET firmy Microsoft jest potężna do programowania GUI. Czy można więc korzystać z frameworka C ++ i .NET? Myślę, że będzie to świetna kombinacja, ponieważ C ++ jest potężnym językiem, a …
Jakie są dobre zasoby na temat pisania lekcji w C ++ (książki, samouczki, dokumenty), jakie są dobre techniki i praktyki? Szukałem w Internecie i wszyscy mówią, aby używać generatora leksykalnego, takiego jak Lex. Nie chcę tego robić, chcę ręcznie napisać leksykon.
Chciałbym wysłać kod testowy wraz z produktem. W szczególności zapewnij opcję, aby każdy, kto posiada kopię naszego programu, mógł nacisnąć przycisk „autotestu” lub przejść test samokontroli w wierszu poleceń i przejść przez kompletny zestaw jednostek | testy integracyjne. Chcę to zrobić przede wszystkim, aby pomóc w debugowaniu problemów wykrytych w …
Rozważ poniższy przykład. Każda zmiana wyliczenia ColorChoice wpływa na wszystkie podklasy IWindowColor. Czy wytryski powodują kruche interfejsy? Czy istnieje coś lepszego niż wyliczenie, które pozwala na większą elastyczność polimorficzną? enum class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: ColorChoice getColor() const=0; void setColor( const …
C i C ++ kompilują sąsiednie literały łańcuchowe jako jeden literał łańcuchowy. Na przykład to: "Some text..." "and more text" jest równa: "Some text...and more text" W innych językach rodziny C, takich jak C # lub Java, jest to błąd składniowy (co jest w porządku BTW). Jaki jest uzasadnienie / …
Dlatego podczas długich kompilacji zdecydowałem się na ogólny test C ++ na ODesk i natknąłem się na to pytanie. Jeśli się nie mylę, biorąc pod uwagę sformułowanie (lub jego brak), wszystkie z nich mogą być prawdziwe. za. int Foo() { } int Foo(int bar) { } b. Cóż, return void;byłoby …
Interesuje mnie idea C ++ - constnie taka konkretna realizacja (jak rzutowanie const). Weźmy na przykład C # - brakuje C ++ - podobnie jak const, a przyczyną tego są zwykli ludzie i czas. Tutaj dodatkowo wydaje się, że zespół C # spojrzał na wykonanie C ++ const, marketing CLR …
Podczas ostatniego projektu, nad którym pracowałem, musiałem użyć wielu funkcji, które wyglądają tak: static bool getGPS(double plane_latitude, double plane_longitude, double plane_altitude, double plane_roll, double plane_pitch, double plane_heading, double gimbal_roll, double gimbal_pitch, double gimbal_yaw, int target_x, int target_y, double zoom, int image_width_pixels, int image_height_pixels, double & Target_Latitude, double & Target_Longitude, double …
Niedawno czytałem o konstruktorach przenoszenia w C ++ (patrz np. Tutaj ) i staram się zrozumieć, jak one działają i kiedy powinienem ich używać. O ile rozumiem, konstruktor ruchu służy do zmniejszenia problemów z wydajnością spowodowanych kopiowaniem dużych obiektów. Strona Wikipedii mówi: „Chroniczny problem z wydajnością w C ++ 03 …
Piszę grę i towarzyszący jej silnik graficzny na OpenGL w C ++. Jestem także fanem dobrych procesów kodowania i automatycznych testów. Testowanie kodu graficznego + wydaje się dość niemieszalne, ponieważ dane wyjściowe są często tylko wizualne lub bardzo mocno zorientowane wizualnie. Na przykład wyobraź sobie analizę surowego strumienia obrazu renderowanego …
Pomijanie subtelnie odmiennej semantyki z powodu ADL, jak ogólnie powinienem używać usingi dlaczego? Czy to zależy od sytuacji (np. Nagłówek, który będzie #included kontra plik źródłowy, który nie będzie)? Należy również podkreślić, wolę ::std::albo std::? Poziom przestrzeni nazw using namespace: using namespace std; pair<string::const_iterator, string::const_iterator> f(const string &s) { return …
Rozumiem, że szablony wyrażeń jako technika zostały znacznie odkryte przed oryginalnym standardem C ++ w 1998 roku. Dlaczego nie użyto ich do poprawy wydajności kilku standardowych klas takich jak std::stringi strumienie?
Czy istnieje pogląd na to, czy użycie #define do zdefiniowania pełnych wierszy kodu w celu uproszczenia kodowania jest dobrą czy złą praktyką programistyczną? Na przykład, gdybym musiał wydrukować kilka słów razem, zirytowałbym się na pisaniu << " " << Aby wstawić spację między słowami w instrukcji cout. Mógłbym po prostu …
Pracuję prawie wyłącznie w C ++ 11/14, i zwykle kulą się, gdy widzę taki kod: std::int64_t mArray; mArray |= someMask << 1; To tylko przykład; Mówię ogólnie o manipulacji bitami. Czy w C ++ jest naprawdę sens? Powyższe jest zniekształcające i podatne na błędy, a użycie std::bitsetpozwala na: łatwiej modyfikować …
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.