Resultados da pesquisa a pedido "c++11"
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) -> ...
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; ...
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 ...
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 ...
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?
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 ...
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 ...
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 ...
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 ...
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 ...