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).

13
Função seqüência-zip para c ++ 11?
Com o novo loop for baseado em intervalo, podemos escrever código como for(auto x: Y) {} Qual IMO é uma grande melhoria de (por exemplo) for(std::vector<int>::iterator x=Y.begin(); x!=Y.end(); ++x) {} Pode ser usado para fazer um loop em dois loops simultâneos, como a zipfunção Pythons ? Para quem não está …
99 c++  c++11  sequences 


4
Por que copiamos e depois mudamos?
Eu vi um código em algum lugar no qual alguém decidiu copiar um objeto e, posteriormente, movê-lo para um membro de dados de uma classe. Isso me deixou confuso, pois pensei que o objetivo de mover era evitar a cópia. Aqui está o exemplo: struct S { S(std::string str) : …

2
Quais são as regras para o token “…” no contexto de modelos variadic?
No C ++ 11, existem modelos variados como este: template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ) { return unique_ptr<T>(new T(std::forward<Args>(args)...)); } Existem algumas curiosidades sobre isso: A expressão std::forward<Args>(args)...usa ambos Argse, argsmas apenas um ...token. Além disso, std::forwardé uma função de modelo não variável que usa …


4
Como std :: function é implementado?
De acordo com as fontes que encontrei, uma expressão lambda é essencialmente implementada pelo compilador, criando uma classe com o operador de chamada de função sobrecarregado e as variáveis ​​referenciadas como membros. Isso sugere que o tamanho das expressões lambda varia e, dadas variáveis ​​de referências suficientes, esse tamanho pode …
98 c++  c++11  lambda 



4
Diferença entre std :: system_clock e std :: stable_clock?
Qual é a diferença entre std::system_clocke std::steady_clock? (Um exemplo de caso que ilustre resultados / comportamentos diferentes seria ótimo). Se meu objetivo é medir com precisão o tempo de execução de funções (como um benchmark), qual seria a melhor escolha entre std::system_clock, std::steady_clocke std::high_resolution_clock?
97 c++  c++11  timer  chrono 

8
initializer_list e mover semântica
Posso mover elementos de um std::initializer_list<T>? #include <initializer_list> #include <utility> template<typename T> void foo(std::initializer_list<T> list) { for (auto it = list.begin(); it != list.end(); ++it) { bar(std::move(*it)); // kosher? } } Uma vez que std::intializer_list<T>requer atenção especial do compilador e não tem semântica de valor como os contêineres normais da …




3
Por que não há std :: stou?
C ++ 11 adicionou algumas novas funções de conversão de string: http://en.cppreference.com/w/cpp/string/basic_string/stoul Inclui stoi (string para int), stol (string para long), stoll (string para long long), stoul (string para long sem sinal), stoull (string para long long sem sinal). Notável em sua ausência é uma função stou (string para não …
96 c++  string  c++11  std 

1
Inicialização de membro ao usar o construtor delegado
Comecei a experimentar o padrão C ++ 11 e encontrei esta pergunta que descreve como chamar seu ctor de outro ctor na mesma classe para evitar um método init ou semelhante. Agora estou tentando a mesma coisa com um código parecido com este: hpp: class Tokenizer { public: Tokenizer(); Tokenizer(std::stringstream …

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.