Pytania otagowane jako c++11

Użyj tego znacznika do kodu, który musi zostać skompilowany jako C ++ 11 (nie używając żadnych funkcji wprowadzonych w C ++ 14 lub nowszej).

6
Jak używać niestandardowego narzędzia do usuwania z elementem członkowskim std :: unique_ptr?
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, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); }); ... } Czy można …


5
Nowa składnia „= default” w C ++ 11
Nie rozumiem, dlaczego miałbym to zrobić: struct S { int a; S(int aa) : a(aa) {} S() = default; }; Dlaczego po prostu nie powiedzieć: S() {} // instead of S() = default; po co wprowadzać do tego nową składnię?
136 c++  c++11 

13
Jak rozwinąć krotkę w argumenty funkcji szablonu wariadycznego?
Rozważmy przypadek funkcji opartej na szablonie z różnymi argumentami szablonu: template<typename Tret, typename... T> Tret func(const T&... t); Teraz mam krotkę twartości. Jak wywołać, func()używając wartości krotki jako argumentów? Czytałem o bind()obiekcie funkcji, z call()funkcją, a także o apply()funkcji w różnych, nieaktualnych, dokumentach. Wydaje się, że implementacja GNU GCC 4.4 …
135 c++  c++11  arguments  tuples 

6
Generuj liczby losowe za pomocą biblioteki losowej C ++ 11
Jak sugeruje tytuł, próbuję wymyślić sposób generowania liczb losowych za pomocą nowej <random>biblioteki C ++ 11 . Wypróbowałem to z tym kodem: std::default_random_engine generator; std::uniform_real_distribution<double> uniform_distance(1, 10.001); Problem z kodem, który mam, polega na tym, że za każdym razem, gdy go kompiluję i uruchamiam, generuje zawsze te same liczby. Więc …
135 c++  c++11  random  range 

4
Czy można określić typ parametru i zwracany typ lambdy?
Czy biorąc pod uwagę lambdę, można określić typ jej parametru i typ zwracany? Jeśli tak, w jaki sposób? Zasadniczo chcę, aby lambda_traitsmożna było używać na następujące sposoby: auto lambda = [](int i) { return long(i*10); }; lambda_traits<decltype(lambda)>::param_type i; //i should be int lambda_traits<decltype(lambda)>::return_type l; //l should be long Motywacją jest …


10
C ++ 0x nie ma semaforów? Jak synchronizować wątki?
Czy to prawda, że ​​C ++ 0x przyjdzie bez semaforów? Istnieje już kilka pytań dotyczących przepełnienia stosu dotyczących używania semaforów. Używam ich (semaforów posix) cały czas, aby pozwolić wątkowi czekać na jakieś zdarzenie w innym wątku: void thread0(...) { doSomething0(); event1.wait(); ... } void thread1(...) { doSomething1(); event1.post(); ... } …

3
Co oznacza thread_local w C ++ 11?
Jestem zdezorientowany z opisem thread_localw C ++ 11. Rozumiem, że każdy wątek ma unikalną kopię zmiennych lokalnych w funkcji. Dostęp do zmiennych globalnych / statycznych można uzyskać we wszystkich wątkach (prawdopodobnie dostęp zsynchronizowany za pomocą blokad). A thread_localzmienne są widoczne dla wszystkich wątków, ale mogą być modyfikowane tylko przez wątek, …

1
Jakie są różnice między -std = c ++ 11 a -std = gnu ++ 11?
Jakie są różnice między parametrami kompilacji -std=c++11i -std=gnu++11jako parametrami gcc i clang? To samo pytanie z c99i gnu99? Wiem o standardach C ++ i C, interesują mnie różnice w parametrach. Czytałem gdzieś, że ma to związek z niektórymi rozszerzeniami, ale nie jest dla mnie jasne, które z nich i jak …
132 c++  gcc  c++11  clang 



6
Dlaczego std :: shared_ptr <void> działa
Znalazłem kod używający std :: shared_ptr do wykonania dowolnego czyszczenia przy wyłączaniu. Na początku myślałem, że ten kod nie może działać, ale potem wypróbowałem następujące: #include &lt;memory&gt; #include &lt;iostream&gt; #include &lt;vector&gt; class test { public: test() { std::cout &lt;&lt; "Test created" &lt;&lt; std::endl; } ~test() { std::cout &lt;&lt; "Test destroyed" …
129 c++  c++11  shared-ptr 


2
operator strzałki (->) w nagłówku funkcji
Natknąłem się na następujący kod: template &lt;typename T, typename T1&gt; auto compose(T a, T1 b) -&gt; decltype(a + b) { return a+b; } Nie mogę zrozumieć jednej rzeczy: Gdzie mogę się dowiedzieć, co oznacza operator strzałki ( -&gt;) w nagłówku funkcji? Myślę, że czysto logicznie, że -&gt;operator określa typ, do …
128 c++  c++11  auto  decltype 

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.