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

172
shared_ptr para uma matriz: deve ser usada?

Apenas uma pequena consulta sobre shared_ptr. É uma boa prática usar shared_ptrapontar para uma matriz? Por exemplo, shared_ptr<int> sp(new int[10]); Se não, então por que não? Uma razão pela qual eu já estou ciente é que não é possível aumentar / diminuir o shared_ptr. Portanto, ele não...

172
O que exatamente é std :: atomic?

Eu entendo que std::atomic<>é um objeto atômico. Mas atômica até que ponto? Para meu entendimento, uma operação pode ser atômica. O que exatamente se entende por tornar um objeto atômico? Por exemplo, se houver dois threads executando simultaneamente o seguinte código: a = a + 12; Então...

169
função de membro de troca de amigo público

Na bela resposta ao idioma de copiar e trocar, há um código que eu preciso de ajuda: class dumb_array { public: // ... friend void swap(dumb_array& first, dumb_array& second) // nothrow { using std::swap; swap(first.mSize, second.mSize); swap(first.mArray, second.mArray); } //...

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

167
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 in c++ 98 mode No entanto,...

166
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",...

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

163
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

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