Resultados da pesquisa a pedido "c++11"

2 a resposta

Valor armazenado quando a leitura do istream falha

Código de amostra: #include <iostream> int main() { int x = 5; std::cin >> x; std::cout << x << '\n'; }Emuma implementação particular [https://stackoverflow.com/questions/32944448/cin-val-sometimes-reads-0-depending-on-ctrl-z] o seguinte ...

1 a resposta

Baseado em intervalo para loops e ADL

oRascunho de trabalho padrão C ++ 0x [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf]afirma (seção 6.5.4) o seguinte sobre as chamadas begin () e end () implícitas em um loop for baseado em intervalo: 'begin' e 'end' são ...

1 a resposta

Por que não há função de espera para a variável de condição, que não trava novamente o mutex

Considere o seguinte exemplo. std::mutex mtx; std::condition_variable cv; void f() { { std::unique_lock<std::mutex> lock( mtx ); cv.wait( lock ); // 1 } std::cout << "f()\n"; } void g() { std::this_thread::sleep_for( 1s ); cv.notify_one(); } ...

3 a resposta

Existe uma maneira de impor a inicialização completa do std :: array

estou usandostd::array<size_t, N> (N é uma variável de modelo fixa). #include<array> template<size_t N> struct A{ size_t function(std::array<size_t, N> arr){ return arr[N-1];} // just an example }; int main(){ A<5> a; a.function({{1,2,3,4,5}})); ...

2 a resposta

Quando um lambda é trivial?

Quando um lambda é garantido como trivial, se é que existe? Supus que, se capturasse apenas tipos triviais ou nada, seria trivial. Eu não tenho nenhum padrão para apoiar isso. Minha motivação foi mover algum código do Visual C ++ 12 para 14 e ...

5 a resposta

Chame uma função antes que a função saia

Vou começar com um exemplo. Suponha que eu precise proteger um código com uma função dentro de um mutex. Existem duas maneiras de implementar isso. #include <iostream> #include <vector> #include <pthread.h> pthread_mutex_t myMutex = ...

1 a resposta

Misturando declarações constexpr e definições const

Me deparei com a seguinte situação: struct Foo { static constexpr char s[] = "Hello world"; }; const char Foo::s[]; Esse trecho de código é compilado com o Clang 3.7 (com-std=c++11 e-std=c++14), mas o GCC (4.8, 6.0, configurações do mesmo ...

3 a resposta

Em C ++, como mover cada elemento um para a direita usando apenas ponteiros? [fechadas]

por exemplo, essa matriz, por exemplo, [1,2,3,4,5] se tornaria essa matriz [5,1,2,3,4] é isso que eu criei, mas não funciona: int *ptr = arr; //initialize to first element int *ptr2 = arr+1; //initialize it to second element while (n >0) // ...

2 a resposta

As uniões irrestritas exigem posicionamento novo e uma definição de construtor?

Os exemplos que eu já vi de uniões irrestritas sempre parecem usar novas colocações na construção. O artigo da Wikipedia para recursos do C ++ 11 usa posicionamento novo no construtor de uma ...

8 a resposta

Devemos passar um shared_ptr por referência ou por valor?

Quando uma função recebe umshared_ptr (do boost ou C ++ 11 STL), você está passando: por referência const:void foo(const shared_ptr<T>& p) ou por valor:void foo(shared_ptr<T> p) ? Eu preferiria o primeiro método porque suspeito que seria mais ...