Domande taggate «c++20»

C ++ 20 è la destinazione per la versione di C ++ dopo C ++ 17. Questo tag dovrebbe essere usato (insieme al tag C ++) per domande sulle funzionalità di C ++ in pista per C ++ 20.





2
Perché il concetto same_as verifica il tipo di uguaglianza due volte?
Osservando la possibile implementazione del concetto same_as su https://en.cppreference.com/w/cpp/concepts/same_as ho notato che sta accadendo qualcosa di strano. namespace detail { template< class T, class U > concept SameHelper = std::is_same_v<T, U>; } template< class T, class U > concept same_as = detail::SameHelper<T, U> && detail::SameHelper<U, T>; La prima domanda è: …
19 c++  c++20  concept 

4
Enum continuo C ++ 11
C'è un modo per verificare in C ++ 11 se un enum è continuo ? È pienamente valido fornire valori enum che non lo sono. C'è forse una caratteristica come una caratteristica del tipo in C ++ 14, C ++ 17 o forse C ++ 20 per verificare se l'enum …
17 c++  c++11  c++14  c++17  c++20 






2
Std :: chrono :: years storage è davvero almeno 17 bit?
Da cppreference std::chrono::years (since C++20) duration</*signed integer type of at least 17 bits*/, std::ratio<31556952>> Usando libc++, sembra che la memoria di sottolineatura di std::chrono::yearsis shortsia firmata a 16 bit . std::chrono::years( 30797 ) // yields 32767/01/01 std::chrono::years( 30797 ) + 365d // yields -32768/01/01 apparently UB C'è un refuso su …
14 c++  chrono  c++20  libc++ 

1
se constexpr - perché l'istruzione scartata è completamente controllata?
Stavo scherzando con cteptte 20 ++ in GCC 10 e ho scritto questo codice #include <optional> #include <tuple> #include <iostream> template <std::size_t N, typename Predicate, typename Tuple> consteval std::optional<std::size_t> find_if_impl(Predicate&& pred, Tuple&& t) noexcept { constexpr std::size_t I = std::tuple_size_v<std::decay_t<decltype(t)>> - N; if constexpr (N == 0u) { return std::nullopt; …

3
std :: bit_cast con std :: array
Nel suo recente discorso "Digitare la punzonatura nel moderno C ++" Timur Doumler ha affermato che std::bit_castnon può essere utilizzato per eseguire il bit di bit floatin un unsigned char[4]perché gli array in stile C non possono essere restituiti da una funzione. Dovremmo usare std::memcpyo attendere fino a C ++ …


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.