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

C ++ 17 é o nome do padrão C ++ aprovado em 2017. Ele se baseia no padrão C ++ 14 anterior, melhorando a linguagem principal e a biblioteca padrão e adicionando alguns novos recursos de linguagem.

3
Posso usar std :: transform no lugar com uma política de execução paralela?
Se não me engano, eu posso fazer std::transformexecutar no lugar usando a mesma faixa como um iterador de entrada e saída. Suponha que eu tenha algum std::vectorobjeto vec, então eu escreveria std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) usando uma operação unária adequada unary_op. Usando o padrão C ++ 17, eu gostaria de executar a transformação …

1
Problema no GCC / C ++ 17 com classe de modelo de modelo
Considere as 2 seguintes sobrecargas template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } O primeiro trabalha para classes regulares, enquanto o segundo trabalha para modelos que não são instanciados. Por exemplo: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields 0 …
10 c++  templates  gcc  clang  c++17 




2
Como eliminar a cópia ao encadear?
Estou criando uma classe do tipo encadeamento, como o pequeno exemplo abaixo. Parece que, ao encadear funções-membro, o construtor de cópia é chamado. Existe uma maneira de se livrar da chamada do construtor de cópia? No meu exemplo de brinquedo abaixo, é óbvio que estou lidando apenas com temporários e, …
10 c++  c++14  c++17 





1
Especialização std :: alocador fornecida pelo usuário
Os modelos de classe no ::stdnamespace geralmente podem ser especializados por programas para tipos definidos pelo usuário. Não encontrei nenhuma exceção a esta regra para std::allocator. Então, posso me especializar std::allocatorpara meus próprios tipos? E se me for permitido, preciso fornecer todos os membros do std::allocatormodelo primário de, já que …
8 c++  c++17  allocator 

1
Como entender a resolução proposta do # 1664
Depois de examinar a resolução proposta no # 1664 ( resolução proposta no 1664 ), estou confuso com as regras de um argumento padrão de um modelo de função, cite o conteúdo aqui: De acordo com 8.1.5 [expr.prim.lambda] parágrafo 3 O tipo de fechamento é declarado no menor escopo de …


1
Como escolher entre std :: reduzir e std :: acumular?
std::accumulatee std::reducefaz quase a mesma coisa. Resumo de std::reducediz tudo: similar to `std::accumulate`, except out of order Em muitos casos, essas funções devem produzir o mesmo resultado final e exibir a mesma funcionalidade geral. É óbvio que, se você tiver alguma computação de carga muito pesada, etc., poderá experimentar std::reducea …


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.