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.



3
O que é o operador <=> em C ++?
Enquanto eu estava tentando aprender sobre C ++ operadores, me deparei com um operador de comparação estranha em cppreference.com , * em uma tabela que ficou assim: "Bem, se esses são operadores comuns em C ++, é melhor eu aprendê-los", pensei. Mas todas as minhas tentativas de elucidar esse mistério …

5
Por que exigimos requer requer?
Um dos cantos dos conceitos do C ++ 20 é que existem certas situações nas quais você precisa escrever requires requires. Por exemplo, este exemplo de [expr.prim.req] / 3 : Uma expressão de requisitos também pode ser usada em uma cláusula de requisitos ([temp]) como uma maneira de escrever restrições …
161 c++  c++-concepts  c++20 


3
O que são corrotinas em C ++ 20?
O que são corrotinas em c ++ 20? De que forma é diferente de "Paralelismo2" ou / e "Simultaneidade2" (veja a imagem abaixo)? A imagem abaixo é do ISOCPP. https://isocpp.org/files/img/wg21-timeline-2017-03.png
104 c++  coroutine  c++20 

2
Por que std :: ssize () foi introduzido em C ++ 20?
C ++ 20 introduziu a std::ssize()função livre conforme abaixo: template &lt;class C&gt; constexpr auto ssize(const C&amp; c) -&gt; std::common_type_t&lt;std::ptrdiff_t, std::make_signed_t&lt;decltype(c.size())&gt;&gt;; Uma possível implementação parece usar static_cast, para converter o valor de retorno da size()função-membro de cl ass C em sua contraparte assinada. Visto que a size()função-membro de C sempre retorna …
99 c++  stl  unsigned  signed  c++20 




2
Por que o operador! = Foi removido no C ++ 20 para muitos tipos de biblioteca padrão?
De acordo com a cppreference , std::type_info::operator!=é removido com o C ++ 20, no entanto, std::type_info::operator==aparentemente permanece. Qual é o raciocínio por trás? Eu poderia concordar em comparar a desigualdade sem sentido, mas comparar a igualdade seria igualmente sem sentido, não é? Da mesma forma, operator!=de muitos outros tipos de …


2
Inicializadores designados em C ++ 20
Tenho uma pergunta sobre um dos recursos do c ++ 20, inicializadores designados (mais informações sobre esse recurso aqui ) #include &lt;iostream&gt; constexpr unsigned DEFAULT_SALARY {10000}; struct Person { std::string name{}; std::string surname{}; unsigned age{}; }; struct Employee : Person { unsigned salary{DEFAULT_SALARY}; }; int main() { std::cout &lt;&lt; std::boolalpha …

3
qual é o caso de uso explícito (bool)
O C ++ 20 introduziu explícito (bool) que seleciona condicionalmente em tempo de compilação se um construtor é explicitado ou não. Abaixo está um exemplo que eu encontrei aqui . struct foo { // Specify non-integral types (strings, floats, etc.) require explicit construction. template &lt;typename T&gt; explicit(!std::is_integral_v&lt;T&gt;) foo(T) {} }; …
24 c++  c++20  explicit 


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.