Вопросы с тегом «c++11»

94
Как получить продолжительность в виде int milli и float секунд из <chrono>?

Я пытаюсь использовать библиотеку хронографов для таймеров и продолжительности. Я хочу иметь Duration frameStart;(при запуске приложения) и Duration frameDelta;(время между кадрами) Мне нужно получить frameDeltaпродолжительность в миллисекундах и секундах с плавающей запятой. Как вы это делаете с...

94
Устранение неоднозначной перегрузки указателя функции и std :: function для лямбда с помощью +

В следующем коде первый вызов fooнеоднозначен и поэтому не может быть скомпилирован. Второй, с добавленным +перед лямбдой, разрешает перегрузку указателя функции. #include <functional> void foo(std::function<void()> f) { f(); } void foo(void (*f)()) { f(); } int main () { foo( [](){}...

93
Как будет выглядеть расширенный список инициализаторов std :: map?

Если он вообще существует, как бы выглядел std::mapрасширенный список инициализаторов? Я пробовал несколько комбинаций ... ну, всего, что мог придумать с GCC 4.4, но не нашел ничего компилированного....

93
Как обеспечить соблюдение семантики перемещения при росте вектора?

У меня есть std::vectorобъекты определенного класса A. Класс нетривиален и имеет конструкторы копирования и перемещение конструктор определены. std::vector<A> myvec; Если я заполню вектор Aобъектами (например, используя myvec.push_back(a)), вектор будет увеличиваться в размере, используя...

93
Есть ли у C ++ 11 свойства стиля C #?

В C # есть хороший синтаксический сахар для полей с геттером и сеттером. Кроме того, мне нравятся автоматически реализованные свойства, которые позволяют мне писать public Foo foo { get; private set; } На C ++ мне нужно написать private: Foo foo; public: Foo getFoo() { return foo; } Есть ли такая...

93
Передача shared_ptr <Derived> как shared_ptr <Base>

Каков наилучший способ передать a shared_ptrпроизводного типа функции, которая принимает shared_ptra базового типа? Я обычно передаю shared_ptrs по ссылке, чтобы избежать ненужной копии: int foo(const shared_ptr<bar>& ptr); но это не сработает, если я попытаюсь сделать что-то вроде int...

92
Когда частный конструктор не является частным конструктором?

Допустим, у меня есть тип, и я хочу сделать его конструктор по умолчанию закрытым. Я пишу следующее: class C { C() = default; }; int main() { C c; // error: C::C() is private within this context (g++) // error: calling a private constructor of class 'C' (clang++) // error C2248: 'C::C' cannot...

92
Должен ли стиль синтаксиса конечного возвращаемого типа стать по умолчанию для новых программ на C ++ 11? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 3 года назад . Уточните этот вопрос C ++ 11 поддерживает новый синтаксис...

92
error :: make_unique не является членом std

Я пытаюсь скомпилировать следующую программу пула потоков, опубликованную в обзоре кода, чтобы проверить ее. /codereview/55100/platform-independant-thread-pool-v4 Но я получаю ошибки threadpool.hpp: In member function ‘std::future<decltype (task((forward<Args>)(args)...))>...

91
cc1plus: ошибка: нераспознанный параметр командной строки «-std = c ++ 11» с g ++

Я пытаюсь скомпилировать, используя g++и флаги -std=c++11или c++0x. Однако я получаю эту ошибку cc1plus: error: unrecognized command line option "-std=c++11" g ++ --version g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the...

91
Когда лишние круглые скобки влияют, кроме приоритета оператора?

Круглые скобки в C ++ используются во многих местах: например, в вызовах функций и выражениях группировки для переопределения приоритета операторов. Помимо недопустимых дополнительных круглых скобок (например, вокруг списков аргументов вызова функций), общее, но не абсолютное правило C ++ состоит...

90
Почему лямбда имеет размер 1 байт?

Я работаю с памятью некоторых лямбд в C ++, но меня немного озадачивает их размер. Вот мой тестовый код: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; std::cout...

90
Ошибка при использовании внутриклассовой инициализации нестатического члена данных и конструктора вложенного класса

Следующий код довольно тривиален, и я ожидал, что он будет нормально компилироваться. struct A { struct B { int i = 0; }; B b; A(const B& _b = B()) : b(_b) {} }; Я тестировал этот код с g ++ версии 4.7.2, 4.8.1, clang ++ 3.2 и 3.3. Помимо того факта, что в этом коде происходит ошибка g ++...

89
Прекращение поддержки ключевого слова static… не более?

В C ++ можно использовать staticключевое слово в единице перевода, чтобы повлиять на видимость символа (объявление переменной или функции). В n3092 это устарело: Приложение D.2 [depr.static] Использование ключевого слова static не рекомендуется при объявлении объектов в области пространства имен...

89
Почему нет присваивания / конструктора перемещения по умолчанию?

Я простой программист. Переменные-члены моего класса чаще всего состоят из POD-типов и STL-контейнеров. Из-за этого мне редко приходится писать операторы присваивания или конструкторы копирования, поскольку они реализованы по умолчанию. Добавьте к этому, если я использую std::moveдля объектов,...

89
Теперь, когда у нас есть std :: array, что еще остается для массивов в стиле C?

std::arrayзначительно превосходит массивы C. И даже если я хочу взаимодействовать с устаревшим кодом, я могу просто использовать std::array::data(). Есть ли причина, по которой мне когда-либо понадобится массив старой школы?...

89
Что такое const void?

В описании std::is_voidговорится, что: Предоставляет значение константы члена, равное true, если T является типом void, const void, volatile void или const volatile void. Тогда что могло быть const void, или volatile void? В этом ответе указано, что const voidтип возвращаемого значения будет...