Pytania otagowane jako c++

C ++ jest językiem programowania ogólnego przeznaczenia. Został pierwotnie zaprojektowany jako rozszerzenie do C i ma podobną składnię, ale teraz jest to zupełnie inny język. Ten znacznik służy do pytań o kod (kompilowany) za pomocą kompilatora C ++. Użyj tagu specyficznego dla wersji w przypadku pytań związanych z określoną wersją standardową [C ++ 11], [C ++ 14], [C ++ 17] lub [C ++ 20] itp.



9
„Using namespace” w nagłówkach C ++
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ć może nie zdając sobie z tego sprawy, nie …


20
Jak łatwo mapować wyliczenia C ++ na ciągi
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 brutalnej siły byłoby kilka takich funkcji, ale wydaje mi …
119 c++  templates  enums 

30
Wydajność C ++ a Java / C #
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 architekturze maszyny. I odwrotnie, języki takie jak Java i C …
119 c#  java  c++  performance  bytecode 

1
Funkcja szablonu w klasie szablonu
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 MyClass<T>::foo() { U a; …
119 c++  templates 

7
Jak skompilować dla systemu Windows w systemie Linux z gcc / g ++?
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 byłoby fajnie, gdybym mógł …
119 c++  opengl  gcc  glut  freeglut 



6
Wykryć, czy stdin to terminal czy potok?
Kiedy wykonuję " python" z terminala bez argumentów, wyświetla się interaktywna powłoka Pythona. Kiedy wykonuję " cat | python" z terminala, nie uruchamia to trybu interaktywnego. W jakiś sposób, nie otrzymując żadnego sygnału wejściowego, wykrył, że jest podłączony do rury. Jak wykonać podobne wykrywanie w C, C ++ lub Qt?
118 c++  c  qt  pipe  stdin 

9
Jak daleko mogą zajść wycieki pamięci?
Wiele razy miałem wycieki pamięci. Zwykle kiedy - mallocjakby nie było jutra, albo wiszące FILE *jak brudne pranie. Ogólnie zakładam (czytaj: mam nadzieję), że cała pamięć jest czyszczona przynajmniej po zakończeniu działania programu. Czy są jakieś sytuacje, w których wyciekająca pamięć nie zostanie zebrana po zakończeniu działania programu lub awarii? …
118 c++  c  memory  memory-leaks 

9
W jaki sposób uzyskałem wartość większą niż 8 bitów z 8-bitowej liczby całkowitej?
Wytropiłem wyjątkowo paskudny błąd ukrywający się za tym małym klejnotem. Zdaję sobie sprawę, że zgodnie ze specyfikacją C ++ przepełnienia ze znakiem są niezdefiniowanym zachowaniem, ale tylko wtedy, gdy przepełnienie występuje, gdy wartość jest rozszerzana do szerokości bitowej sizeof(int). Jak rozumiem, zwiększanie wartości a charnie powinno być nigdy niezdefiniowanym zachowaniem …

5
Jak działa „is_base_of”?
Jak działa poniższy kod? typedef char (&yes)[1]; typedef char (&no)[2]; template <typename B, typename D> struct Host { operator B*() const; operator D*(); }; template <typename B, typename D> struct is_base_of { template <typename T> static yes check(D*, T); static no check(B*, int); static const bool value = sizeof(check(Host<B,D>(), int())) …

8
Czy istnieje wskazówka kompilatora dla GCC, aby wymusić przewidywanie gałęzi, aby zawsze iść w określony sposób?
Czy w przypadku architektur Intela istnieje sposób, aby poinstruować kompilator GCC, aby generował kod, który zawsze wymusza przewidywanie gałęzi w określony sposób w moim kodzie? Czy sprzęt Intel w ogóle to obsługuje? A co z innymi kompilatorami lub oprogramowaniem sprzętowym? Użyłbym tego w kodzie C ++, w którym znam przypadek, …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.