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

C ++ 20 é o destino da versão do C ++ após o C ++ 17. Essa tag deve ser usada (junto com a tag C ++) para perguntas sobre os recursos do C ++ na trilha do C ++ 20.

1
Criação de objeto implícito não especificado
Como a criação implícita de objetos P0593 para manipulação de objetos de baixo nível foi aceita, agora os objetos podem ser criados implicitamente no C ++ 20. Especificamente, o texto introduzido pela proposta permite que certas operações (como std::malloc) criem e iniciem automaticamente a vida útil de objetos de certos …

1
Como o shift_right () deve ser implementado no C ++ 20?
No C ++ 20, o <algorithm>cabeçalho ganha dois novos algoritmos: shift_left()eshift_right() . Ambos aceitam qualquer LegacyForwardIterator. Para shift_left(), é especificado que "os movimentos são executados em ordem crescente de ipartida de ​0"; para shift_right(), é especificado que "se ForwardItatender aos requisitos LegacyBidirectionalIterator, as movimentações serão executadas em ordem decrescente a …




2
Como implementar a forma generalizada de std :: same_as (ou seja, para mais de dois parâmetros de tipo) que é independente da ordem dos parâmetros?
fundo Sabemos que o conceito std::same_asé agnóstico em ordem (em outras palavras, simétrico): std::same_as<T, U>é equivalente a std::same_as<U, T>( questão relacionada ). Nesta pergunta, eu gostaria de implementar algo mais geral: template <typename ... Types> concept same_are = ...que verifique se os tipos no pacote Typessão iguais entre si. Minha …

2
Como o std :: atomic_ref é implementado para tipos não atômicos?
Gostaria de saber como pode std::atomic_refser implementado eficientemente (um std::mutexpor objeto) para objetos não atômicos, pois a propriedade a seguir parece bastante difícil de aplicar: As operações atômicas aplicadas a um objeto por meio de um atomic_ref são atômicas em relação às operações atômicas aplicadas por qualquer outro atomic_ref que …
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.