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

4
O que o auto && nos diz?
Se você ler código como auto&& var = foo(); onde fooé qualquer função que retorna pelo valor do tipo T. Então varé um lvalue do tipo rvalue de referência T. Mas o que isso implica var? Isso significa que estamos autorizados a roubar os recursos var? Existem situações razoáveis ​​em …

6
Como habilitar o C ++ 11 no Qt Creator?
O título é bastante auto-descritivo. Eu baixei o Qt Creator 2.7.0 e estou tentando compilar algum código C ++ 11 básico: int my_array[5] = {1, 2, 3, 4, 5}; for(int &x : my_array) { x *= 2; } Estou recebendo o seguinte erro: range based for loops are not allowed …
167 c++  qt  c++11 

8
Captura Lambda como referência const?
É possível capturar por referência const em uma expressão lambda? Quero que a tarefa marcada abaixo falhe, por exemplo: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world" }; static const size_t num_strings = sizeof(strings)/sizeof(strings[0]); string best_string = "foo"; …
166 c++  c++11  lambda  c++14 


11
Como converter automaticamente enum fortemente tipado em int?
#include <iostream> struct a { enum LOCAL_A { A1, A2 }; }; enum class b { B1, B2 }; int foo(int input) { return input; } int main(void) { std::cout << foo(a::A1) << std::endl; std::cout << foo(static_cast<int>(b::B2)) << std::endl; } O a::LOCAL_Aé o que o enum fortemente digitado está tentando …

6
As funções virtuais podem ter parâmetros padrão?
Se eu declarar uma classe base (ou classe de interface) e especificar um valor padrão para um ou mais de seus parâmetros, as classes derivadas precisam especificar os mesmos padrões e, se não, quais padrões se manifestarão nas classes derivadas? Adendo: Também estou interessado em saber como isso pode ser …
164 c++  c++11  c++03 

7
Quais são as vantagens de usar o nullptr?
Conceitualmente, esse trecho de código faz a mesma coisa para os três ponteiros (inicialização segura do ponteiro): int* p1 = nullptr; int* p2 = NULL; int* p3 = 0; E então, quais são as vantagens de atribuir ponteiros nullptrsobre a atribuição de valores NULLou 0?
163 c++  c++11  null  c++-faq  nullptr 


7
std :: function vs template
Graças ao C ++ 11, recebemos a std::functionfamília de wrappers functor. Infelizmente, continuo ouvindo apenas coisas ruins sobre essas novas adições. O mais popular é que eles são terrivelmente lentos. Eu testei e eles realmente são ruins em comparação com os modelos. #include <iostream> #include <functional> #include <string> #include <chrono> …




6
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 = 4; };


3
Quando usar std :: forward para encaminhar argumentos?
C ++ 0x mostra um exemplo de uso std::forward: template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } Quando é vantajoso usar std::forwardsempre? Além disso, ele requer o uso &&na declaração de parâmetros, é válido em todos os casos? Eu pensei que você tinha que passar temporários para uma função se …

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.