C ++ 17 è il nome dello standard C ++ approvato nel 2017. Si basa sul precedente standard C ++ 14, migliorando il linguaggio principale e la libreria standard e aggiungendo alcune nuove funzionalità linguistiche.
Considera i 2 sovraccarichi seguenti template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Il primo funziona per le classi regolari, mentre il secondo per i modelli non istanziati. Per esempio: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields 0 Ora …
Sto provando ad accedere al contenuto di una variante. Non so cosa ci sia, ma per fortuna, la variante lo fa. Quindi ho pensato di chiedere alla variante su quale indice si trova e quindi utilizzare quell'indice per il std::getsuo contenuto. Ma questo non viene compilato: #include <variant> int main() …
Ho giocato con la std::string_viewlibreria e ho pensato di cambiare una base di codice su cui ho lavorato per utilizzare std::string_viewil più possibile. Tuttavia, in molti dei thread che ho letto sull'argomento di quando e dove utilizzare std::string_viewanziché const std::string &. Ho visto molte risposte dire: "Quando non hai bisogno …
Sto creando una classe di tipo concatenamento, come il piccolo esempio di seguito. Sembra che quando si concatenano funzioni membro, viene invocato il costruttore di copie. C'è un modo per sbarazzarsi della chiamata del costruttore della copia? Nel mio esempio di giocattolo qui sotto, è ovvio che ho a che …
Penso che sia una domanda piuttosto semplice. Mi piacerebbe in particolare utilizzare std::get_time, ma richiede una sorta di stream con cui utilizzare. Sto passando i dati in un string_viewe vorrei evitare di copiarli solo per analizzare la data.
Considera il seguente programma dimostrativo. #include <iostream> int main() { typedef float T; 0.f.T::~T(); } Questo programma è compilato da Microsoft Visual Studio Community 2019. Ma clanged gccemettere un errore come questo prog.cc:7:5: error: unable to find numeric literal operator 'operator""f.T' 7 | 0.f.T::~T(); | ^~~~~ Se scrivere l'espressione come …
Ho ascoltato e letto diversi articoli, discorsi e domande su StackOverflow std::atomice vorrei essere sicuro di averlo capito bene. Perché sono ancora un po 'confuso con la riga della cache che scrive la visibilità a causa di possibili ritardi nei protocolli di coerenza della cache MESI (o derivati), buffer di …
Le specifiche C ++ specificano l'ordine operator newe il costruttore di Ain new C(A()). Il g ++ lascia che l'ordine sia A()-> new-> C(), ma clang ++ lascia che sia new-> A()-> C(). La differenza è causata da un comportamento non specificato? g ++: 7.4.0 clang ++: 10.0.0 #include <iostream> …
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.