W jakich scenariuszach lepiej jest używać structvs classw C
Zawsze się nad tym zastanawiałem - dlaczego nie możesz zadeklarować zmiennych po etykiecie sprawy w instrukcji switch? W C ++ możesz deklarować zmienne niemal wszędzie (a deklarowanie ich przy pierwszym użyciu jest oczywiście dobrą rzeczą), ale następujące działania nadal nie będą działać: switch...
W C ++ powszechne jest nazywanie zmiennych składowych z pewnym prefiksem, który oznacza, że są to zmienne składowe, a nie zmienne lokalne lub parametry. Jeśli pochodzisz z tła MFC, prawdopodobnie będziesz używać m_foo. Od myFooczasu do czasu widziałem . Wydaje się, że C # (lub po prostu .NET)...
Wiem, że w C ++ 11 możemy teraz używać usingdo pisania aliasu typu, takiego jak typedefs: typedef int MyInt; Z tego, co rozumiem, jest równoważne z: using MyInt = int; Ta nowa składnia powstała w wyniku wysiłku, aby wyrazić „ template typedef”: template< class T > using MyType =...
Jak mogę przekonwertować A std::stringna A char*lub A const
Często słyszę o funktorach w C ++. Czy ktoś może mi przedstawić, co to jest iw jakich przypadkach byłby
Jaka jest różnica między g ++ a gcc? Który z nich powinien być użyty do ogólnego programowania w C
Natknąłem się na pytanie o przepełnienie stosu Przeciek pamięci ze std :: string przy użyciu std :: list <std :: string> , a jeden z komentarzy mówi: Przestań używać newtak dużo. Nigdzie nie widziałem powodu, dla którego używałeś nowego. Możesz tworzyć obiekty według wartości w C ++ i jest...
Czy w C ++ jest jakaś różnica między: struct Foo { ... }; i: typedef struct { ... }
Te dwa rozwiązania napisałem dla Project Euler Q14 , w asemblerze i w C ++. Są to te same identyczne metody brutalnej siły do testowania przypuszczeń Collatz . Rozwiązanie montażowe zostało zmontowane nasm -felf64 p14.asm && gcc p14.o -o p14 C ++ został skompilowany g++ p14.cpp -o...
Obecnie używam następującego kodu do przycięcia wszystkich std::stringsprogramów w moich programach: std::string s; s.erase(s.find_last_not_of(" \n\r\t")+1); Działa dobrze, ale zastanawiam się, czy są jakieś przypadki końcowe, w których może się nie powieść? Oczywiście mile widziane są...
Jak skonfigurować klasę reprezentującą interfejs? Czy to tylko abstrakcyjna klasa
Przyglądałem się niektórym nowym funkcjom C ++ 11 i zauważyłem, że podwójny znak & w deklaracji zmiennych, takich jak T&& var. Na początek, jak nazywa się ta bestia? Chciałbym, aby Google umożliwił nam wyszukiwanie takich znaków interpunkcyjnych. Co to dokładnie znaczy? Na pierwszy...
W wielu makrach C / C ++ widzę kod makra zawinięty w coś, co wydaje się pozbawioną znaczenia do whilepętlą. Oto przykłady. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else Nie widzę co do whilerobi. Dlaczego po prostu tego nie napisać? #define FOO(X) f(X);...
Chcę przekonwertować std::stringna małe litery. Zdaję sobie sprawę z tej funkcji tolower(), jednak w przeszłości miałem problemy z tą funkcją i nie jest ona idealna, ponieważ używa się jej zstd::string wymagałoby iteracji nad każdą postacią. Czy istnieje alternatywa, która działa w 100%...
Jestem trochę zdezorientowany co do różnicy między push_backi emplace_back. void emplace_back(Type&& _Val); void push_back(const Type& _Val); void push_back(Type&& _Val); Ponieważ istnieje push_backprzeciążenie przyjmujące odwołanie do wartości, nie bardzo rozumiem, jaki jest...
Oto fragment tego programu. Matryca img[][]ma rozmiar SIZE × SIZE i jest inicjowana o: img[j][i] = 2 * j + i Następnie tworzysz macierz res[][], a każde pole tutaj jest średnią z 9 pól wokół niej w macierzy img. Dla uproszczenia granicę pozostawia 0. for(i=1;i<SIZE-1;i++)...
Nie jestem w stanie zrozumieć różnic między std::stringi std::wstring. Wiem, że wstringobsługuje szerokie znaki, takie jak znaki Unicode. Mam następujące pytania: Kiedy należy używać std::wstringw ciągu std::string? Czy std::stringpomieści cały zestaw znaków ASCII, w tym znaki specjalne? Czy jest...
Ktoś wspomniał o tym w IRC jako problem
Jaka jest różnica między „ nieprzyjaznym dla cache'u kodem ” a „ przyjaznym dla cache'a ” kodem? Jak mogę się upewnić, że piszę kod efektywny dla pamięci podręcznej?