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
Nie będziesz dziedziczyć po std :: vector
Ok, to jest naprawdę trudne do przyznania się, ale w tej chwili mam silną pokusę, aby odziedziczyć std::vector. Potrzebuję około 10 niestandardowych algorytmów dla wektora i chcę, aby były one bezpośrednio elementami wektora. Ale oczywiście chcę też mieć resztę std::vectorinterfejsu. Cóż, moim pierwszym pomysłem, jako obywatela przestrzegającego prawa, było mieć …
189 c++  oop  inheritance  stl  vector 

5
Jaki jest sens niewiedzy?
[dcl.attr.noreturn] podaje następujący przykład: [[ noreturn ]] void f() { throw "error"; // OK } ale nie rozumiem, o co chodzi [[noreturn]], ponieważ typ zwracanej funkcji już jest void. Jaki jest sens tego noreturnatrybutu? Jak ma być używany?

8
Jaki jest najlepszy sposób na połączenie dwóch wektorów?
Używam wielowątkowości i chcę scalić wyniki. Na przykład: std::vector<int> A; std::vector<int> B; std::vector<int> AB; Chcę, aby AB musiał mieć zawartość A i zawartość B w tej kolejności. Jaki jest najbardziej efektywny sposób zrobienia czegoś takiego?
189 c++  vector 

4
Dlaczego warto używać klas zagnieżdżonych w C ++?
Czy ktoś może wskazać mi jakieś fajne zasoby do zrozumienia i korzystania z zagnieżdżonych klas? Mam trochę materiałów, takich jak zasady programowania i podobne rzeczy Centrum wiedzy IBM - Zagnieżdżone klasy Ale wciąż mam problem ze zrozumieniem ich celu. Czy ktoś mógłby mi pomóc?


10
Jaki jest wpływ zamówienia, jeśli… jeśli stwierdzenia prawdopodobieństwa?
W szczególności, jeśli mam serię if... else ifinstrukcji i w jakiś sposób wiem z góry względne prawdopodobieństwo, że każde z nich oceni true, na ile różni się czas wykonania, aby je posortować według prawdopodobieństwa? Na przykład, czy wolę to: if (highly_likely) //do something else if (somewhat_likely) //do something else if …

5
Domyślne argumenty szablonu dla szablonów funkcji
Dlaczego domyślne argumenty szablonów są dozwolone tylko w szablonach klas? Dlaczego nie możemy zdefiniować domyślnego typu w szablonie funkcji członka? Na przykład: struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; Zamiast tego C ++ wymusza, aby domyślne argumenty szablonu były dozwolone tylko w szablonie klasy.
187 c++  templates 


9
Jak zrobić wyjście CMake do katalogu „bin”?
Obecnie buduję projekt ze strukturą wtyczek. Używam CMake do kompilacji projektu. Wtyczki są kompilowane w osobnych katalogach. Mój problem polega na tym, że CMake kompiluje i zapisuje pliki binarne i wtyczki, biblioteki dynamiczne, w strukturze katalogów źródła. Jak zmusić CMake do zapisywania plików w katalogu typu ./bin ?
187 c++  plugins  cmake 


21
Jak używać wyliczeń jako flag w C ++?
Traktowanie enums jak flagi działa dobrze w C # za pomocą [Flags]atrybutu, ale jaki jest najlepszy sposób, aby to zrobić w C ++? Na przykład chciałbym napisać: enum AnimalFlags { HasClaws = 1, CanFly =2, EatsFish = 4, Endangered = 8 }; seahawk.flags = CanFly | EatsFish | Endangered; Jednak …
187 c++  enums 

14
Niepotrzebne nawiasy klamrowe w C ++?
Dokonując dzisiaj przeglądu kodu dla kolegi, zauważyłem osobliwą rzecz. Swój nowy kod otoczył kręconymi nawiasami klamrowymi: Constructor::Constructor() { existing code { New code: do some new fancy stuff here } existing code } Jaki jest z tego wynik? Jaki może być powód tego? Skąd pochodzi ten nawyk? Edytować: Na podstawie …

16
Jak wywołać :: std :: make_shared na klasie z tylko chronionymi lub prywatnymi konstruktorami?
Mam ten kod, który nie działa, ale myślę, że cel jest jasny: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std::shared_ptr<A> foo() { return A::create(); } Ale …
187 c++  c++11  shared-ptr 

3
oddziały fork () więcej niż oczekiwano?
Rozważ następujący fragment kodu: #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i; for(i = 0; i < 2; i++) { fork(); printf("."); } return 0; } Ten program generuje 8 kropek. Jak to możliwe? Czy zamiast tego nie powinno być 6 kropek?
186 c++  c  fork 


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.