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

Use essa tag para código que deve ser compilado como C ++ 11 (sem usar os recursos introduzidos no C ++ 14 ou posterior).

8
Otimizando um "tempo (1)"; em C ++ 0x
Atualizado, veja abaixo! Ouvi e li que o C ++ 0x permite que um compilador imprima "Olá" para o seguinte trecho #include <iostream> int main() { while(1) ; std::cout << "Hello" << std::endl; } Aparentemente, tem algo a ver com threads e recursos de otimização. Parece-me que isso pode surpreender …



6
Por que eu std :: move um std :: shared_ptr?
Estive pesquisando o código-fonte do Clang e encontrei este trecho: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Por que eu iria querer std::moveum std::shared_ptr? Existe algum ponto em transferir a propriedade de um recurso compartilhado? Por que eu não faria isso? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = …


5
Iota of std :: iota de quê?
Estou assumindo que o "i" é incrementado e o "a" é atribuído, mas não consegui descobrir ou encontrar a resposta. Além disso, parece muito semelhante ao não-padrão, o itoaque eu acho confuso.

4
Usando variável de membro na lista de captura lambda dentro de uma função de membro
O código a seguir é compilado com o gcc 4.5.1, mas não com o VS2010 SP1: #include <iostream> #include <vector> #include <map> #include <utility> #include <set> #include <algorithm> using namespace std; class puzzle { vector<vector<int>> grid; map<int,set<int>> groups; public: int member_function(); }; int puzzle::member_function() { int i; for_each(groups.cbegin(),groups.cend(),[grid,&i](pair<int,set<int>> group){ i++; …

12
Por que alguém usaria set em vez de unordered_set?
O C ++ 0x está apresentando o unordered_setque está disponível em boostmuitos outros lugares. O que eu entendo é que unordered_seté uma tabela de hash com O(1)complexidade de pesquisa. Por outro lado, setnada mais é do que uma árvore com log(n)complexidade de pesquisa. Por que diabos alguém usaria em setvez …

1
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 …
145 c++  c++11 

7
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 …
144 c++  types  c++11  auto 



14
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 = [term,next,&sum](int a, int b)mutable ->int …
143 c++  c++11  lambda 

4
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 …
142 c++  coding-style  c++11 


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.