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.

3
Czy powinienem przekazać funkcję std :: przez odwołanie do stałej?
Powiedzmy, że mam funkcję, która przyjmuje std::function: void callFunction(std::function<void()> x) { x(); } Czy powinienem xzamiast tego przejść przez const-reference ?: void callFunction(const std::function<void()>& x) { x(); } Czy odpowiedź na to pytanie zmienia się w zależności od tego, co robi z nią funkcja? Na przykład, jeśli jest to funkcja …
141 c++  function  reference 

4
Jak stworzyć współdzieloną bibliotekę za pomocą cmake?
Napisałem bibliotekę, którą skompilowałem przy użyciu samodzielnie napisanego pliku Makefile, ale teraz chcę przełączyć się na cmake. Drzewo wygląda tak (usunąłem wszystkie nieistotne pliki): . ├── include │ ├── animation.h │ ├── buffers.h │ ├── ... │ ├── vertex.h │ └── world.h └── src ├── animation.cpp ├── buffers.cpp ├── ... …



16
Statyczne wirtualne elementy w C ++?
Czy w C ++ można mieć funkcję składową, która jest jednocześnie statici virtual? Wygląda na to, że nie ma na to prostego sposobu ( static virtual member();jest to błąd kompilacji), ale czy istnieje przynajmniej sposób na osiągnięcie tego samego efektu? TO ZNACZY: struct Object { struct TypeInformation; static virtual const …
140 c++  static  virtual 

2
Czy #pragma jest kiedyś częścią standardu C ++ 11?
Tradycyjnie, standardowym i przenośnym sposobem uniknięcia wielu włączeń nagłówków w C ++ było / jest użycie #ifndef - #define - #endifschematu dyrektyw prekompilatora, zwanego również schematem ochrony makr (zobacz fragment kodu poniżej). #ifndef MY_HEADER_HPP #define MY_HEADER_HPP ... #endif Jednak w większości implementacji / kompilatorów (patrz rysunek poniżej) istnieje bardziej „elegancka” …

30
java.lang.ClassNotFoundException: nie znaleziono klasy w path: dexpathlist
Obecnie pracuję nad projektem, w którym muszę używać czysto natywnego ndk. Zadziałało, gdy próbuję uruchomić przykład helloworld ze źródła silnika Irrlicht. Następnie próbuję użyć go w moim projekcie, postępując zgodnie z formatem z tego przykładu. Ale dostałem: 03-14 01:40:05.308: E/AndroidRuntime(799): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.irrlicht.example1/android.app.POMActivity}: java.lang.ClassNotFoundException: Didn't find class …
140 java  android  c++  android-ndk 

3
Które manipulatory Iomanip są „lepkie”?
Niedawno miałem problem z utworzeniem pliku stringstream, ponieważ błędnie założyłem, std::setw()że wpłynie to na strumień ciągu dla każdego wstawienia, dopóki nie zmienię go wyraźnie. Jednak po włożeniu jest zawsze rozbrojony. // With timestruct with value of 'Oct 7 9:04 AM' std::stringstream ss; ss.fill('0'); ss.setf(ios::right, ios::adjustfield); ss << setw(2) << timestruct.tm_mday; …
140 c++  c++-faq 


5
Kiedy należy używać std :: thread :: detach?
Czasami muszę użyć, std::threadaby przyspieszyć moją aplikację. Wiem też, że join()czeka, aż wątek się zakończy. Łatwo to zrozumieć, ale jaka jest różnica między dzwonieniem detach()a nie dzwonieniem? Pomyślałem, że bez detach()wątku metoda wątku będzie działać niezależnie od wątku. Nie odłączanie: void Someclass::Somefunction() { //... std::thread t([ ] { printf("thread called …
140 c++  c++11  stdthread 

11
Przejdź przez wektor C ++, używając pętli „for”
Jestem nowy w języku C ++. Zacząłem używać wektorów i zauważyłem, że w całym kodzie, który widzę, aby iterować przez wektor za pomocą indeksów, pierwszy parametr forpętli jest zawsze oparty na wektorze. W Javie mógłbym zrobić coś takiego z ArrayList: for(int i=0; i < vector.size(); i++){ vector[i].doSomething(); } Czy jest …


4
bool to int konwersja
Jak przenośna jest ta konwersja. Czy mogę być pewien, że oba stwierdzenia przejdą? int x = 4<5; assert(x==1); x = 4>5; assert(x==0); Nie pytaj dlaczego. Wiem, że to brzydkie. Dziękuję Ci.
140 c++  c  c99 

4
Jak należy używać std :: optional?
Czytam dokumentację programu std::experimental::optionali mam dobre pojęcie o tym, co robi, ale nie rozumiem, kiedy powinienem go używać lub jak powinienem go używać. Strona nie zawiera jeszcze przykładów, co utrudnia mi zrozumienie prawdziwej koncepcji tego obiektu. Kiedy jest std::optionaldobrym wyborem do użycia i jak kompensuje to, czego nie znaleziono w …

12
Jakie nowe możliwości dodają literały zdefiniowane przez użytkownika do C ++?
C ++ 11 wprowadza zdefiniowane przez użytkownika literały , które pozwolą na wprowadzenie nowej składni dosłownym opartą na istniejących literały ( int, hex, string, float), tak, że każdy rodzaj będzie mógł mieć dosłownego prezentacji. Przykłady: // imaginary numbers std::complex<long double> operator "" _i(long double d) // cooked form { return …

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.