Результаты поиска по запросу "c++11"

2 ответа

Variadic Templates - различные типы расширения

Андрей Александреску дал отличную беседу под названием:Variadic шаблоны являются Funadic [http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Variadic-Templates-are-Funadic] . Он представляет следующие 3 расширения, которые отличаются ...

2 ответа

C ++ 11: На основе диапазона для оператора: время жизни «range-init»?

В последнем стандарте C ++ это означает, что: for (foo : bar) baz;эквивалентно: { auto && r = bar; for ( auto it = r.begin(), end = r.end(); it != end; ++it ) { foo = *it; baz; } }Когда bar в приведенном выше примере является вызовом функции, ...

3 ответа

В чем разница между std :: move и std :: forward

Я видел это здесь:Конструктор Move вызывает базовый класс Конструктор Move [https://stackoverflow.com/questions/4390888/move-constructor-calling-base-class-move-constructor] Может ли кто-нибудь объяснить: разница междуstd::move ...

ТОП публикаций

1 ответ

Реализация Haskell's Maybe Monad в c ++ 11

Я пытаюсь реализовать монаду Maybe от Haskell, используя лямбда-функции в C ++ 11 и шаблоны. Вот что у меня пока #include<functional> #include<iostream> using namespace std; template<typename T1> struct Maybe { T1 data; bool valid; }; ...

2 ответа

передача std :: thread по ссылке вызывает конструктор копирования

Ну, у меня есть проблема с передачей данных в поток, используя std :: thread. Я думал, что понял общую семантику конструкторов копирования и т. Д., Но, похоже, я не совсем понял проблему. У меня есть простой класс с именем Log, который таким ...

1 ответ

Ветвление операторов присваивания со значениями вместо ссылок

Этот вопрос возникает из вопросов, поднятыхэтот ответ [https://stackoverflow.com/a/9746772/734069]. Обычно мы определяем операторы копирования для типаT какT& operator=(const T&)и переместить операторы присваивания для типаT какT& ...

3 ответа

Почему 'std :: vector <int> b {2};' создать 1-элементный вектор, а не 2-элементный?

Последние несколько дней я играл с C ++ 11 и придумал что-то странное. Если я хочу равномерно инициализировать int: int a{5};Но если я сделаю то же самое с std :: vector: std::vector<int> b{2};Не создает двухэлементный массив, а скорее массив ...

2 ответа

Как я могу вызвать набор конструкторов базового класса с переменным числом аргументов, основанных на пакетах с тегами?

Я хотел бы иметь возможность сделать это: template<typename Mix> struct A { A(int i) { } }; template<typename Mix> struct B { B() { } B(const char*) { } }; template<template<typename> class... Mixins> struct Mix : Mixins<Mix<Mixins...>>... { // ...

1 ответ

поведение std :: async с политикой std :: launch :: async

У меня есть вопрос о поведенииstd::async функция сstd::launch::async политика иstd::future объект возвращен из асинхронного. В следующем коде основной поток ожидает завершенияfoo() в теме, созданнойasync вызов. #include <thread> #include ...

2 ответа

Гарантируется ли непрерывность данных во вложенных массивах std :::

Данные вstd::array<std::array<T,N>, M> гарантированно будет смежным? Например: #include <array> #include <cassert> int main() { enum {M=4, N=7}; typedef std::array<char,N> Row; typedef std::array<Row, M> Matrix; Matrix a; a[1][0] = 42; const ...