Perguntas com a marcação «c++11»

157
Mover captura no lambda

Como capturar por movimentação (também conhecida como referência de rvalue) em um lambda C ++ 11? Eu estou tentando escrever algo como isto: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer =

145
Qual é a lógica por trás da palavra-chave "using" em C ++?

Qual é a lógica por trás da palavra-chave "using" em C ++? É usado em diferentes situações e estou tentando descobrir se todos têm algo em comum e há uma razão pela qual a palavra-chave "using" é usada como tal. using namespace std; // to import namespace in the current namespace using T = int;...

144
Palavra-chave automática C ++. Por que isso é mágico?

De todo o material que aprendi em C ++, autosempre foi um especificador de duração de armazenamento estranho que não tinha nenhum objetivo. Mas, recentemente, encontrei um código que o usava como um nome de tipo por si só. Por curiosidade, eu tentei, e assume o tipo do que quer que eu atribua a...

143
Funções lambda recursivas em C ++ 11

Eu sou novo no C ++ 11. Estou escrevendo a seguinte função lambda recursiva, mas ela não é compilada. sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum =

142
A passagem por valor é um padrão razoável no C ++ 11?

No C ++ tradicional, a passagem de valor para funções e métodos é lenta para objetos grandes e geralmente é desaprovada. Em vez disso, os programadores de C ++ tendem a passar referências, o que é mais rápido, mas apresenta todos os tipos de perguntas complicadas sobre propriedade e principalmente...