Articles of c ++ 11

std :: to_string – mais do que a instância da function sobrecarregada corresponde à lista de argumentos

counter é um int void SentryManager::add(std::string name,std::shared_ptr){ name = name + std::to_string(counter); } Qual seria a melhor maneira de parar esse erro? Quando eu estava sendo preguiçoso eu apenas fiz o int long long (ou algo assim), mas tenho certeza que existe uma maneira melhor de resolver isso. Mensagem de erro: sentrymanager.cpp(8): error C2668: ‘std::to_string’ […]

Reutilizando um contêiner movido?

Qual é a maneira correta de reutilizar um contêiner movido? std::vector container; container.push_back(1); auto container2 = std::move(container); // ver1: Do nothing //container2.clear(); // ver2: “Reset” container = std::vector() // ver3: Reinitialize container.push_back(2); assert(container.size() == 1 && container.front() == 2); Pelo que eu li no rascunho padrão C ++ 0x; ver3 parece ser o caminho correto, […]

Por que os compiladores não mesclam gravações std :: atomic redundantes?

Eu estou querendo saber por que nenhum compilador está preparado para mesclar escritas consecutivas do mesmo valor para uma única variável atômica, por exemplo: #include std::atomic y(0); void f() { auto order = std::memory_order_relaxed; y.store(1, order); y.store(1, order); y.store(1, order); } Todos os compiladores que eu tentei irão escrever três vezes. Qual observador legítimo, sem […]

Como converter std :: chrono :: time_point para string de data e hora do calendar com segundos fracionários?

Como converter std :: chrono :: time_point para string de data e hora do calendar com segundos fracionários? Por exemplo: “10-10-2012 12: 38: 40.123456”.

Como criar events de timer usando o C ++ 11?

Como criar events de timer usando o C ++ 11? Eu preciso de algo como: “Ligue-me depois de 1 segundo a partir de agora”. Existe alguma biblioteca?

Como std :: unordered_map é implementado

c ++ unordered_map manipulação de colisão, resize e rehash Esta é uma pergunta anterior aberta por mim e eu vi que estou tendo muita confusão sobre como unordered_map é implementado. Tenho certeza que muitas outras pessoas compartilham essa confusão comigo. Com base nas informações que conheço sem ler o padrão: Cada implementação de unordered_map armazena […]

C ++: Uma macro pode expandir “abc” para ‘a’, ‘b’, ‘c’?

Eu escrevi um template variádico que aceita um número variável de parâmetros char , ie template struct Foo; Eu estava apenas me perguntando se havia algum truque de macro que me permitisse instanciar isso com uma syntax semelhante à seguinte: Foo ou Foo ou Foo etc. Basicamente, qualquer coisa que impeça você de escrever os […]

O que posso e não posso especializar no namespace std?

Os usuários podem adicionar especializações explícitas ao namespace std . No entanto, existem alguns modelos que estou explicitamente proibido de especializar. Quais modelos posso e não posso me especializar?

Escolhendo entre std :: map e std :: unordered_map

Agora que std tem um mapa de hash real em unordered_map , por que (ou quando) eu ainda desejaria usar o bom map antigo em unordered_map em sistemas onde ele realmente existe? Há alguma situação óbvia que eu não possa ver imediatamente?

A nova palavra-chave = padrão em C ++ 11

Eu não entendo porque eu faria isso: struct S { int a; S(int aa) : a(aa) {} S() = default; }; Por que não dizer apenas: S() {} // instead of S() = default; Por que trazer uma nova palavra-chave para isso?