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.

2
Czy Qt obsługuje wirtualne, czyste automaty?
Mój projekt GUI w Qtma wiele klas „stron konfiguracji”, z których wszystkie dziedziczą bezpośrednio QWidget. Niedawno zdałem sobie sprawę, że wszystkie te klasy mają dwa wspólne miejsca ( loadSettings()i saveSettings()). W związku z tym mam dwa pytania: Czy ma sens pisanie pośredniej, bazowej klasy abstrakcyjnej (nazwijmy ją BaseConfigurationPage) z tymi …

3
Dlaczego sizeof int jest błędne, a sizeof (int) jest prawidłowe?
Wiemy, że sizeofjest to operator służący do obliczania rozmiaru dowolnego typu danych i wyrażenia, a gdy operand jest wyrażeniem, można pominąć nawiasy. int main() { int a; sizeof int; sizeof( int ); sizeof a; sizeof( a ); return 0; } pierwsze użycie sizeofjest złe, podczas gdy inne mają rację. Gdy …
97 c++  c  sizeof 

3
Używanie emit vs wywoływanie sygnału tak, jakby to była zwykła funkcja w Qt
Powiedzmy, że mam ten sygnał: signals: void progressNotification(int progress); Dopiero niedawno dowiedziałem się o słowie kluczowym emit w Qt. Do tej pory wykonywałem sygnały, po prostu wywołując je jak zwykłą funkcję. Więc zamiast: emit progressNotification(1000 * seconds); Napisałbym: progressNotification(1000 * seconds); Nazywanie ich w ten sposób wydawało się działać, a …
97 c++  qt 

16
Dzielenie klas C ++ z szablonami na pliki .hpp / .cpp - czy to możliwe?
Otrzymuję błędy podczas próby skompilowania klasy szablonu C ++, która jest podzielona między a .hppi .cppplik: $ g++ -c -o main.o main.cpp $ g++ -c -o stack.o stack.cpp $ g++ -o main main.o stack.o main.o: In function `main': main.cpp:(.text+0xe): undefined reference to 'stack<int>::stack()' main.cpp:(.text+0x1c): undefined reference to 'stack<int>::~stack()' collect2: ld …

6
Jak przetasować std :: vector?
Szukam ogólnego, wielokrotnego użytku sposobu na przetasowanie std::vectorw C ++. Tak to teraz robię, ale myślę, że nie jest to zbyt wydajne, ponieważ wymaga tablicy pośredniej i musi znać typ elementu (w tym przykładzie DeckCard): srand(time(NULL)); cards_.clear(); while (temp.size() > 0) { int idx = rand() % temp.size(); DeckCard* card …
97 c++  shuffle  stdvector 

4
Różnica między std :: system_clock a std :: steady_clock?
Jaka jest różnica między std::system_clocki std::steady_clock? (Przykładowy przypadek ilustrujący różne wyniki / zachowania byłby świetny). Jeśli moim celem jest precyzyjny pomiar czasu wykonywania funkcji (np. Benchmarku), jaki byłby najlepszy wybór pomiędzy std::system_clock, std::steady_clocka std::high_resolution_clock?
97 c++  c++11  timer  chrono 

10
ACE vs Boost vs POCO [zamknięte]
Zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć za pomocą faktów i cytatów, edytując ten post . Zamknięte 2 lata temu . Popraw to pytanie Od dłuższego czasu pracuję z bibliotekami Boost C …

6
Jak skompilować C ++ z Clang?
Zainstalowałem Clang za pomocą apt-get w Ubuntu i mogę z powodzeniem skompilować pliki C przy jego użyciu. Jednak nie mam pojęcia, jak za jego pomocą skompilować C ++. Co muszę zrobić, aby skompilować C ++?
97 c++  clang 

5
W jaki sposób dziedziczenie wirtualne rozwiązuje niejednoznaczność „diamentu” (dziedziczenie wielokrotne)?
class A { public: void eat(){ cout<<"A";} }; class B: virtual public A { public: void eat(){ cout<<"B";} }; class C: virtual public A { public: void eat(){ cout<<"C";} }; class D: public B,C { public: void eat(){ cout<<"D";} }; int main(){ A *a = new D(); a->eat(); } Rozumiem …

13
Rozpakowywanie wyniku std :: type_info :: name
Obecnie pracuję nad kodem do logowania, który miałby - między innymi - wypisywać informacje o funkcji wywołującej. Powinno to być stosunkowo łatwe, standardowy C ++ ma type_infoklasę. Zawiera nazwę klasy / funkcji / itp. Z identyfikatorem typu. ale jest zniekształcony. Nie jest to zbyt przydatne. Tj . typeid(std::vector<int>).name()Wraca St6vectorIiSaIiEE. Czy …
97 c++  gcc  name-mangling 

1
Inicjalizacja elementu członkowskiego podczas korzystania z konstruktora delegowanego
Zacząłem wypróbowywać standard C ++ 11 i znalazłem to pytanie, które opisuje, jak wywołać twojego ctora z innego ctora w tej samej klasie, aby uniknąć posiadania metody init lub podobnej. Teraz próbuję tego samego z kodem, który wygląda następująco: hpp: class Tokenizer { public: Tokenizer(); Tokenizer(std::stringstream *lines); virtual ~Tokenizer() {}; …

3
Kiedy używać inicjatora w nawiasach?
W C ++ 11 mamy nową składnię do inicjowania klas, która daje nam dużą liczbę możliwości inicjalizacji zmiennych. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4}; std::complex<double> c = {3,4}; auto d = …

3
<cstdint> vs <stdint.h>
Jaka jest różnica między stdint.hi cstdint? Oba są dostępne w MSVC (Visual Studio 2010) i gcc-4.5.1. Oba definiują również intX_t/ uintX_ttypes (gdzie Xjest rozmiarem w bajtach typu). Jeśli uzasadnienie w obu nagłówkach jest takie samo (typy przenośne), jakie decyzje muszę podjąć, aby zdecydować o jednym lub drugim? stdint.hDefiniuje każdy typ …
97 c++  stdint  cstdint 

7
Jak mogę sprawdzić, gdzie został zgłoszony wyjątek w C ++?
Mam program, który wyrzuca gdzieś nieprzechwycony wyjątek. Otrzymuję tylko raport o wyrzuceniu wyjątku i brak informacji o tym, gdzie został zgłoszony. Wydaje się nielogiczne, aby program skompilowany zawierał symbole debugowania, aby nie powiadamiać mnie o tym, gdzie w moim kodzie został wygenerowany wyjątek. Czy jest jakiś sposób, aby stwierdzić, skąd …

4
Jak sprawdzić typ parametru szablonu?
Załóżmy, że mam funkcję szablonu i dwie klasy class animal { } class person { } template&lt;class T&gt; void foo() { if (T is animal) { kill(); } } Jak sprawdzić, czy T to zwierzę? Nie chcę mieć czegoś, co sprawdza się w czasie wykonywania. Dzięki
97 c++  templates 

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.