Jak podnieść liczbę do potęgi? 2^1 2^2 2^3 itp...
Jak podnieść liczbę do potęgi? 2^1 2^2 2^3 itp...
Oto uproszczony przykład ilustrujący pytanie: class A {}; class B { B(A& a) : a(a) {} A& a; }; class C { C() : b(a) {} A a; B b; }; Więc B jest odpowiedzialny za aktualizację części C. Przepuściłem kod przez lint i narzekał o elemencie referencyjnym: lint # 1725 . To mówi o...
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...
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...
Czy norma precyzyjnie określa, co mogę zrobić z przedmiotem po jego przeniesieniu? Kiedyś myślałem, że wszystko, co można zrobić z przeniesionym obiektem, to go zniszczyć, ale to nie wystarczy. Na przykład weź szablon funkcji swapzdefiniowany w bibliotece standardowej: template <typename...
Jak mogę przekierować cindo in.txti coutdo out.txt?
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,...
Możliwość tworzenia i manipulowania napisami podczas kompilacji w C ++ ma kilka przydatnych aplikacji. Chociaż możliwe jest tworzenie ciągów znaków czasu kompilacji w C ++, proces ten jest bardzo uciążliwy, ponieważ ciąg musi być zadeklarowany jako zmienna sekwencja znaków, np. using str =...
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...
Korzystając z tego samego kodu, po prostu zmiana kompilatora (z kompilatora C na kompilator C ++) zmieni ilość przydzielonej pamięci. Nie jestem do końca pewien, dlaczego tak jest i chciałbym to lepiej zrozumieć. Jak dotąd najlepszą odpowiedzią, jaką otrzymałem, jest „prawdopodobnie strumienie I /...
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....
na przykład: Beta_ab&& Beta::toAB() const { return move(Beta_ab(1, 1)); }
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...
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...
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...
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...
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...
(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...
Podczas pracy z wątkowym modelem C ++ 11 zauważyłem to std::packaged_task<int(int,int)> task([](int a, int b) { return a + b; }); auto f = task.get_future(); task(2,3); std::cout << f.get() << '\n'; i auto f = std::async(std::launch::async, [](int a, int b) { return a +...
Mam klasę z członkiem unique_ptr. class Foo { private: std::unique_ptr<Bar> bar; ... }; Bar jest klasą strony trzeciej, która ma funkcje create () i niszczą (). Gdybym chciał użyć std::unique_ptrz nim jako samodzielnej funkcji, mógłbym zrobić: void foo() { std::unique_ptr<Bar,...