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.

13
Dlaczego C ++ potrzebuje oddzielnego pliku nagłówkowego?
Nigdy tak naprawdę nie rozumiałem, dlaczego C ++ potrzebuje oddzielnego pliku nagłówkowego z tymi samymi funkcjami, co w pliku .cpp. Utrudnia to tworzenie klas i ich refaktoryzację, a także dodaje do projektu niepotrzebne pliki. A potem pojawia się problem z koniecznością dołączania plików nagłówkowych, ale z koniecznością jawnego sprawdzenia, czy …

6
Łączenie bibliotek statycznych z innymi bibliotekami statycznymi
Mam mały fragment kodu, który zależy od wielu bibliotek statycznych (a_1-a_n). Chciałbym spakować ten kod do biblioteki statycznej i udostępnić go innym osobom. Moja biblioteka statyczna, nazwijmy ją X, kompiluje się dobrze. Stworzyłem prosty przykładowy program, który używa funkcji z X, ale kiedy próbuję połączyć go z X, otrzymuję wiele …
138 c++  linker  ar  .a 


1
Futures a obietnice
Mylę się z różnicą między przyszłością a obietnicą. Oczywiście mają różne metody i rzeczy, ale jaki jest faktyczny przypadek użycia? Czy to jest ?: kiedy zarządzam jakimś zadaniem asynchronicznym, używam przyszłości, aby uzyskać wartość „w przyszłości” kiedy jestem zadaniem asynchronicznym, używam obietnicy jako typu zwracanego, aby umożliwić użytkownikowi uzyskanie przyszłości …
138 c++  c++11  promise  future 


4
Podłączanie przeciążonych sygnałów i gniazd w Qt 5
Mam problem z opanowaniem nowej składni sygnału / gniazda (przy użyciu wskaźnika do funkcji składowej) w Qt 5, zgodnie z opisem w nowej składni gniazda sygnału . Próbowałem to zmienić: QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)); do tego: QObject::connect(spinBox, &QSpinBox::valueChanged, slider, &QSlider::setValue); ale pojawia się błąd, gdy próbuję go skompilować: błąd: brak …
138 c++  qt  qt5 


9
Czy rzeczywiście istnieje powód, dla którego są przeciążone && i || nie zwarcie?
Krótkie zachowanie operatorów &&i ||jest niesamowitym narzędziem dla programistów. Ale dlaczego tracą to zachowanie, gdy są przeciążone? Rozumiem, że operatory są jedynie cukrem syntaktycznym dla funkcji, ale operatory dla boolmają takie zachowanie, dlaczego miałoby być ograniczone do tego jednego typu? Czy jest za tym jakieś techniczne uzasadnienie?

3
Jak skompilować Qt dla programu Visual Studio 2010
Miałem problemy ze znalezieniem instrukcji, która zapewnia stabilne rozwiązanie do używania Qt z Visual Studio 2010, więc po zebraniu wszystkich informacji i kilku prób i błędów, chciałbym napisać moje rozwiązanie w przewodniku. Problem lub dlaczego nie można użyć gotowych plików binarnych? Wygląda na to, że używanie plików binarnych zbudowanych dla …

10
Jak emulować inicjalizację tablicy w C zachowanie „int arr [] = {e1, e2, e3,…}” za pomocą std :: array?
(Uwaga: to pytanie dotyczy braku konieczności określania liczby elementów i nadal zezwala na bezpośrednie inicjowanie typów zagnieżdżonych). To pytanie omawia zastosowania pozostawione dla tablicy C, takiej jak int arr[20];. W swojej odpowiedzi @James Kanze pokazuje jeden z ostatnich bastionów tablic C, jego unikalne cechy inicjalizacji: int arr[] = { 1, …

9
Po co używać #ifndef CLASS_H i #define CLASS_H w pliku .h, ale nie w .cpp?
Zawsze widziałem, jak ludzie piszą class.h #ifndef CLASS_H #define CLASS_H //blah blah blah #endif Pytanie brzmi, dlaczego nie robią tego również dla pliku .cpp, który zawiera definicje funkcji klas? Powiedzmy, że mam main.cppi main.cppobejmuje class.h. class.hPlik nie includewszystko, tak jak nie main.cppwiem co jest w class.cpp?
137 c++ 

7
Jaki jest rozmiar w bitach long w 64-bitowym systemie Windows?
Niedawno ktoś mi powiedział, że longna maszynach 64-bitowych nie ma 64 bitów i powinienem zawsze używać int. To nie miało dla mnie sensu. Widziałem dokumenty (takie jak ta na oficjalnej stronie Apple), które mówią, że longpodczas kompilacji dla 64-bitowego procesora mają rzeczywiście 64 bity. Sprawdziłem, co to jest w 64-bitowym …
137 c++  c  windows  64-bit  porting 

8
Nie można otworzyć pliku dołączanego „afxres.h” w VC2010 Express
Próbuję skompilować stary projekt przy użyciu VS express 2010, ale pojawia się ten błąd: błąd krytyczny RC1015: nie można otworzyć pliku dołączanego „afxres.h”. z tego kodu ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // #include "afxres.h" Zainstalowałem już Windows SDK, ale bez powodzenia. dzięki!

6
Jak określić wskaźnik do przeciążonej funkcji?
Chcę przekazać przeciążoną funkcję do std::for_each()algorytmu. Na przykład, class A { void f(char c); void f(int i); void scan(const std::string& s) { std::for_each(s.begin(), s.end(), f); } }; Spodziewałbym się, że kompilator rozwiąże f()typ iteratora. Najwyraźniej to (GCC 4.1.2) tego nie robi. Jak więc mogę określić, co f()chcę?
137 c++  stl 

5
Operator podwójnego adresu w C ++? (&&)
Czytam kod źródłowy STL i nie mam pojęcia, co &&ma zrobić operator adresu. Oto przykład kodu z stl_vector.h: vector& operator=(vector&& __x) // <-- Note double ampersands here { // NB: DR 675. this->clear(); this->swap(__x); return *this; } Czy „Adres adresu” ma sens? Dlaczego ma dwa operatory adresu zamiast tylko jednego?

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.