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.
Contrariamente a tutte le altre domande simili, questa domanda riguarda l'uso delle nuove funzionalità C ++. 2008 c Esiste un modo semplice per convertire enum C ++ in stringa? 2008 c Modo semplice per utilizzare variabili di tipo enum come stringa in C? 2008 C ++ Come associare facilmente enumerazioni …
Recentemente ho ricevuto suggerimenti per usare quelli span<T>nel mio codice, o ho visto alcune risposte qui sul sito che usano span- presumibilmente una sorta di contenitore. Ma - Non riesco a trovare nulla del genere nella libreria standard C ++ 17. Allora, cos'è misterioso span<T>e perché (o quando) è una …
Mentre stavo cercando di conoscere gli operatori C ++ , mi sono imbattuto in uno strano operatore di confronto su cppreference.com , * in una tabella che assomigliava a questa: "Bene, se questi sono operatori comuni in C ++, è meglio che li impari", ho pensato. Ma tutti i miei …
Uno degli angoli dei concetti di C ++ 20 è che ci sono alcune situazioni in cui devi scrivere requires requires. Ad esempio, questo esempio tratto da [expr.prim.req] / 3 : A richiede-espressione può essere utilizzato anche in una richiede clausola ([Temp]) come un modo di scrivere vincoli ad hoc …
Una domanda un po 'strana, tuttavia, se ricordo bene, il codice sorgente C ++ non richiede un file system per memorizzare i suoi file. Avere un compilatore che scansiona documenti scritti a mano tramite una fotocamera sarebbe un'implementazione conforme. Anche se praticamente non ha molto senso. Tuttavia C ++ 20 …
In cosa sono le coroutine c ++ 20? In che modo è diverso da "Parallelism2" o / e "Concurrency2" (guarda l'immagine sotto)? L'immagine sotto è da ISOCPP. https://isocpp.org/files/img/wg21-timeline-2017-03.png
C ++ 20 ha introdotto ilstd::ssize() funzione gratuita come di seguito: template <class C> constexpr auto ssize(const C& c) -> std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>; Una possibile implementazione sembra usare static_cast, per convertire il valore restituito dalla size()funzione membro di cl ass C nella sua controparte firmata. Dal momento che il size() funzione …
c ++ 14 ha introdotto lambda generici che hanno permesso di scrivere quanto segue: auto func = [](auto a, auto b){ return a + b; }; auto Foo = func(2, 5); auto Bar = func("hello", "world"); È molto chiaro che questo lambda generico funcfunziona proprio come funzionerebbe una funzione basata …
Sto riscontrando uno strano comportamento con il nuovo operatore di astronave <=>in C ++ 20. Sto usando Visual Studio 2019 compilatore con /std:c++latest. Questo codice viene compilato correttamente, come previsto: #include <compare> struct X { int Dummy = 0; auto operator<=>(const X&) const = default; // Default implementation }; int …
Secondo cppreference , std::type_info::operator!=viene rimosso con C ++ 20, tuttavia, a std::type_info::operator==quanto pare rimane. Qual è il ragionamento dietro? Potrei essere d'accordo sul fatto che il confronto per l'ineguaglianza sia privo di significato, ma poi il confronto per l'uguaglianza sarebbe altrettanto insignificante, no? Allo stesso modo, operator!=di molti altri tipi …
Ho una domanda su una delle funzionalità di c ++ 20, inizializzatori designati (maggiori informazioni su questa funzione qui ) #include <iostream> 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 << std::boolalpha …
C ++ 20 ha introdotto esplicito (bool) che seleziona in modo condizionale in fase di compilazione se un costruttore viene reso esplicito o meno. Di seguito è riportato un esempio che ho trovato qui . struct foo { // Specify non-integral types (strings, floats, etc.) require explicit construction. template <typename …
Considera il file di intestazione: class T { private: int const ID; public: explicit T(int const ID_) noexcept : ID(ID_) {} int GetID() const noexcept { return ID; } }; o, in alternativa: class T { private: int const ID; public: explicit T(int const ID_) noexcept; int GetID() const noexcept; …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.