Запитання з тегом «c++11»

Використовуйте цей тег для коду, який повинен скласти як C ++ 11 (не використовуючи жодних функцій, введених у C ++ 14 або новіших версіях).


10
C ++ 0x не має семафорів? Як синхронізувати потоки?
Чи правда, що C ++ 0x вийде без семафорів? Про стек переповнення вже є кілька питань щодо використання семафорів. Я використовую їх (posix semaphores) весь час, щоб потік чекав на якусь подію в іншій потоці: void thread0(...) { doSomething0(); event1.wait(); ... } void thread1(...) { doSomething1(); event1.post(); ... } Якби …

1
Ф'ючерси проти обіцянок
Я плутаю себе в різниці між майбутнім і обіцянкою. Очевидно, у них є різні способи та інше, але який фактичний випадок використання? Є це?: коли я керую деяким завданням асинхронізації, я використовую майбутнє, щоб отримати значення "у майбутньому" коли я завдання async, я використовую обіцянку як тип повернення, щоб дозволити …
135 c++  c++11  promise  future 

16
Перевірте, чи клас має функцію-член для даної підпису
Я прошу шаблонний трюк, щоб визначити, чи клас має певну функцію члена даної підпису. Проблема схожа на ту, що цитується тут http://www.gotw.ca/gotw/071.htm але не та сама: у статті книги Саттера він відповів на запитання, що клас C ОБОВ'ЯЗКОВО БЕЗПЕЧИТИ функцію члена з певний підпис, інакше програма не збирається. У своїй …
135 c++  c++11  templates  sfinae 


6
Як використовувати користувацький делетер з членом std :: unique_ptr?
У мене клас з унікальним членом_ptr. class Foo { private: std::unique_ptr<Bar> bar; ... }; Штрих - це сторонній клас, який має функцію create () та знищити (). Якби я хотів використовувати це std::unique_ptrз ним у самостійній функції, я міг би: void foo() { std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); }); …


1
Які відмінності між -std = c ++ 11 і -std = gnu ++ 11?
Які відмінності між -std=c++11і в -std=gnu++11якості параметра компіляції для GCC і дзвону? Те саме питання з c99і gnu99? Я знаю про стандарти C ++ і C, мене цікавлять відмінності в параметрах. Я десь читав, що це стосується деяких розширень, але мені незрозуміло, які з них і як вибрати для того …
132 c++  gcc  c++11  clang 

3
Що означає потік_локалу в C ++ 11?
Мене плутають з описом thread_localв C ++ 11. Наскільки я розумію, кожен потік має унікальну копію локальних змінних у функції. До глобальних / статичних змінних можна отримати доступ до всіх потоків (можливо, синхронізований доступ за допомогою блокування). І thread_localзмінні видимі для всіх потоків, але можуть змінюватися лише тим потоком, для …

10
Об'єднання ниток в C ++ 11
Відповідні питання : Про C ++ 11: C ++ 11: std :: об'єднано нитку? Чи зробить async (запуск :: async) в C ++ 11 пули потоків застарілими, щоб уникнути створення дорогих ниток? Про Boost: C ++ посилення потоку повторного використання потоків boost :: thread і створення пулу з них! Як …


6
Чому робота std :: shared_ptr <void>
Я знайшов код за допомогою std :: shared_ptr для довільної очищення при відключенні. Спочатку я думав, що цей код не може працювати, але потім я спробував таке: #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; …
129 c++  c++11  shared-ptr 


2
оператор стрілки (->) у заголовку функції
Я натрапив на такий код: template &lt;typename T, typename T1&gt; auto compose(T a, T1 b) -&gt; decltype(a + b) { return a+b; } Є одне, чого я не можу зрозуміти: Де я міг дізнатися, що означає оператор стрілки ( -&gt;) у заголовку функції? Я думаю, що логічно, що -&gt;оператор визначає …
128 c++  c++11  auto  decltype 

4
Коли зробити тип нерухливим в C ++ 11?
Я був здивований, що це не з’явилося в моїх результатах пошуку, я думав, що хтось би це запитував раніше, враховуючи корисність семантики переміщення в C ++ 11: Коли я повинен (або мені це подобається) зробити клас нерухливим на C ++ 11? ( Інші причини, ніж проблеми сумісності з існуючим кодом, …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.