Czy jest jakaś różnica między tymi: float foo1 = (int)(bar / 3.0); float foo2 = floor(bar / 3.0); Jak rozumiem, oba przypadki mają ten sam wynik. Czy jest jakaś różnica w skompilowanym
Czy jest jakaś różnica między tymi: float foo1 = (int)(bar / 3.0); float foo2 = floor(bar / 3.0); Jak rozumiem, oba przypadki mają ten sam wynik. Czy jest jakaś różnica w skompilowanym
Czy istnieje sposób na zrzucenie stosu wywołań w działającym procesie w C lub C ++ za każdym razem, gdy wywoływana jest określona funkcja? Mam na myśli coś takiego: void foo() { print_stack_trace(); // foo's body return } Gdzie print_stack_tracedziała podobnie jak callerw Perlu. Lub coś w...
Widziałem termin inwazyjny używany do opisywania struktur danych, takich jak listy i stosy, ale co to oznacza? Czy możesz podać przykład kodu przedstawiający uciążliwą strukturę danych i czym różni się ona od nieinwazyjnej? Poza tym, po co robić to natrętne (lub nieinwazyjne)? Jakie są korzyści?...
Uwaga: nie chodzi o to, jak używać funkcji inline ani jak one działają, a raczej o to, dlaczego są robione tak, jak są. Deklaracja funkcji składowej klasy nie musi definiować funkcji inline, ponieważ jest to tylko faktyczna implementacja funkcji. Na przykład w pliku nagłówkowym: struct foo{ void...
Ponieważ to pytanie jest zadawane co tydzień, to FAQ może pomóc wielu użytkownikom. Jak przekonwertować liczbę całkowitą na ciąg w C ++ jak przekonwertować ciąg znaków na liczbę całkowitą w C ++ jak przekonwertować liczbę zmiennoprzecinkową na ciąg w C ++ jak przekonwertować ciąg na liczbę...
Mam funkcję członka, która jest zdefiniowana w następujący sposób: Value JSONDeserializer::ParseValue(TDR type, const json_string& valueString); Kiedy kompiluję źródło, otrzymuję: błąd: dodatkowa kwalifikacja „JSONDeserializer ::” w elemencie „ParseValue” Co to jest? Jak usunąć ten...
Czy istnieją wytyczne, jak należy napisać nowy kontener, który będzie zachowywał się jak każdy
Znalazłem co najmniej 3 sposoby, aby to zrobić i zastanawiam się, który jest idiomatyczny. Należy to zrobić prawie zawsze dla każdej biblioteki statycznej. Dziwię się, że generator Makefile w CMake nie dodaje tego automatycznie do bibliotek statycznych. (chyba że czegoś mi...
Chcę używać funkcji C ++ 17. Jak mogę przełączyć kompilację z C ++ 14 na C ++ 17 w Microsoft Visual Studio? A może nie jest dostępny w wydaniu
Użyłem std::tiebez zastanawiania się nad tym. Działa, więc właśnie zaakceptowałem, że: auto test() { int a, b; std::tie(a, b) = std::make_tuple(2, 3); // a is now 2, b is now 3 return a + b; // 5 } Ale jak działa ta czarna magia ? W jaki sposób tymczasowe tworzone przez std::tiezmianę ai b?...
Zamknięte . To pytanie i odpowiedzi na nie są zablokowane, ponieważ pytanie jest niezwiązane z tematem, ale ma znaczenie historyczne. Obecnie nie przyjmuje nowych odpowiedzi ani interakcji. Rozumiem, że C / C ++ tworzy natywny kod do uruchomienia na określonej...
Jakie są podstawowe różnice między semaforem a blokadą spinu? Kiedy użylibyśmy semafora nad blokadą
Mam kilka typów wyliczeń w niektórych plikach nagłówkowych bibliotek, których używam, i chcę mieć sposób konwertowania wartości wyliczenia na ciągi użytkownika - i odwrotnie. RTTI nie zrobi tego za mnie, ponieważ „ciągi użytkowników” muszą być nieco bardziej czytelne niż wyliczenia. Rozwiązaniem...
Otrzymuję ten komunikat podczas kompilacji C ++ na gcc 4.3 error: ‘NULL’ was not declared in this scope Pojawia się i znika i nie wiem dlaczego.
Napisałem kilka efektów w C ++ (g ++) używając freeglut na Linuksie i kompiluję je z g++ -Wall -lglut part8.cpp -o part8 Więc zastanawiałem się, czy jest możliwe, aby g ++ tworzyło statycznie skompilowane pliki wykonywalne Windows, które zawierają wszystko, czego potrzeba? Nie mam Windowsa, więc...
Czy istnieje wersja 64-bitowej biblioteki Boost dla VS2008? Czy też muszę samemu skompilować? jeśli tak, to czy ktoś ma z tym
Która z tych dwóch metod jest bardziej wydajna w C? I jak: pow(x,3) vs. x*x*x //
We wszystkich naszych kursach języka c ++ wszyscy nauczyciele zawsze umieszczają w swoich plikach using namespace std;zaraz po #includeznaku s .h. Wydaje mi się to niebezpieczne, ponieważ wtedy dołączając ten nagłówek do innego programu, uzyskam przestrzeń nazw zaimportowaną do mojego programu, być...
Mam ten kod: template <class T> class MyClass { public: template <class U> void foo() { U a; a.invoke(); } }; Chcę to w tej formie: template <class T> class MyClass { public: template <class U> void foo(); }; template <class T> /* ????? */ void...
Ponieważ szablony są zdefiniowane w nagłówkach, a kompilator jest w stanie określić, czy wstawianie funkcji jest korzystne, czy ma to jakiś sens? Słyszałem, że współczesne kompilatory wiedzą lepiej, kiedy wstawić funkcję i ignorują inlinewskazówkę. edycja: chciałbym zaakceptować obie odpowiedzi,...