Resultados da pesquisa a pedido "c++11"

6 a resposta

Chamada de função de membro em decltype

O código a seguir: struct A { int f(int); auto g(int x) -> decltype(f(x)); };Falha ao compilar com o erro: error: cannot call member function 'int B::f(int)' without objectSe eu mudar para: struct A { int f(int); auto g(int x) -> ...

3 a resposta

Posso usar a referência rvalue para temporário? É um comportamento indefinido ou não?

Atualizando a perguntaPor que esses exemplos de duas referências de rvalue têm comportamento diferente? [https://stackoverflow.com/questions/35315472/why-this-two-rvalue-references-examples-have-different-behavior] : Código fonte: int a = 0; ...

3 a resposta

Passando int && para f (int &&)

O que exatamente está acontecendo aqui? Por que isso é um erro? void f(int &&); int && i = 5; f(i);Não é um pouco contra-intuitivo? eu esperariai para ser uma referência rvalue e, portanto, poder passá-la paraf(). Mas eu recebo um ...

1 a resposta

O padrão C ++ suporta processos?

Eu sei que o C ++ 11 adicionou suporte para threads. Por exemplo: #include <iostream> #include <thread> void bar() { std::cout << "bar()\n"; } int main() { std::thread thread(bar); thread.join(); return 0; }No entanto, existe uma maneira de ...

5 a resposta

Como posso verificar se uma função de membro tem sobrecarga const?

Vamos dizer que eu tenho struct foo { void ham() {} void ham() const {} }; struct bar { void ham() {} }; Supondo que eu tenho uma função de modelo, posso saber se um determinado tipo tem uma sobrecarga const paraham?

6 a resposta

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

2 a resposta

Atribuindo Rvalue retornado da função para outro Rvalue

class Test { public: int n1; }; Test func() { return Test(); } int main() { func() = Test(); }Isso não faz sentido para mim. Como e por que isso é permitido? É um comportamento indefinido? Se uma função retorna um rvalue, como é possível definir ...

3 a resposta

Por que não consigo retornar a lista do inicializador do lambda

Por que esse código não é válido? auto foo=[](){ return {1,2}; };No entanto, isso é válido, pois oinitializer list é usado apenas para inicializar umvector para não se retornar: auto foo=[]()->std::vector<int>{ return {1,2}; };Por que não ...

2 a resposta

boost :: function_output_iterator construído a partir da função lambda não é atribuível

Considere o seguinte snippet de código: auto f = [](int x) { std::cout << x; }; auto it = boost::make_function_output_iterator(f); decltype(it) it2 = it; // Ok, copied it2 = it; // Does not compile, cannot assign!O ...

4 a resposta

Alguma razão para declarar constexpr para uma função que retorna nula?

Aqui está o que eu li:usando alias para funções de membro estáticas? [https://stackoverflow.com/questions/28575700/using-alias-for-static-member-functions] Na resposta, vejo uma sugestão para usarconstexpr. Qual o motivo de usarconstexpr ...