C ++ 14 è il nome dello standard C ++, approvato nel 2014. Si basa sul precedente standard C ++ 11, migliorando il linguaggio di base e la libreria standard e aggiungendo alcune funzionalità.
Sto cercando di compilare il seguente programma di pool di thread pubblicato sulla revisione del codice per testarlo. /codereview/55100/platform-independant-thread-pool-v4 Ma sto ottenendo gli errori threadpool.hpp: In member function ‘std::future<decltype (task((forward<Args>)(args)...))> threadpool::enqueue_task(Func&&, Args&& ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique<task_package_impl<R, decltype(bound_task)>> (std::move(bound_task), std::move(promise)); ^ …
Quando stavo leggendo il codice sorgente di seastar , ho notato che esiste una struttura sindacale chiamata tx_sideche ha un solo membro. È un trucco per affrontare un certo problema? Cordiali saluti, incollo la tx_sidestruttura qui sotto: union tx_side { tx_side() {} ~tx_side() {} void init() { new (&a) aa; …
Sto lavorando con la memoria di alcuni lambda in C ++, ma sono un po 'perplesso dalla loro dimensione. Ecco il mio codice di prova: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; std::cout …
La descrizione di std::is_voidafferma che: Fornisce il valore della costante del membro che è uguale a true, se T è il tipo void, const void, volatile void o const volatile void. Allora cosa potrebbe essere const void, o un volatile void? Questa risposta afferma che il const voidtipo restituito non …
Sono molto confuso sull'inizializzazione di valori e valori predefiniti e zero. e soprattutto quando entrano in gioco per i diversi standard C ++ 03 e C ++ 11 (e C ++ 14 ). Sto citando e cercando di estendere una risposta davvero buona Value- / Default- / Zero- Init C …
(In riferimento a questa domanda e risposta .) Prima dello standard C ++ 17, la seguente frase era inclusa in [basic.compound] / 3 : Se un oggetto di tipo T si trova in un indirizzo A, si dice che un puntatore di tipo cv T * il cui valore è …
Sto cercando di capire come ottenere l'indirizzo di una funzione lambda all'interno di se stesso. Ecco un codice di esempio: []() { std::cout << "Address of this lambda function is => " << ???? }(); So che posso catturare la lambda in una variabile e stampare l'indirizzo, ma voglio farlo …
Sto lavorando a un progetto con C ++ 11 e ho provato a seguire il codice #include <atomic> struct A { std::atomic_int idx = 1; }; int main() { return 0; } Ottengo l'errore del compilatore error: use of deleted function 'std::__atomic_base<_IntTp>::__atomic_base(const std::__atomic_base<_IntTp>&) [with _ITp = int]' std::atomic_int idx = …
Ho scoperto che lvaluele chiusure lambda possono sempre essere passate come rvalueparametri di funzione. Vedi la seguente semplice dimostrazione. #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); // works // Case …
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 …
Ho un modello di funzione che accetta molti tipi diversi come input. Di questi tipi solo uno ha una getInt()funzione. Quindi voglio che il codice esegua la funzione solo per quel tipo. Si prega di suggerire una soluzione. Grazie #include <type_traits> #include <typeinfo> class X { public: int getInt(){ return …
Cerco di comprendere i tipi di espressione di C ++ e più leggo, più sono confuso, poiché trovo la bozza di C ++ molto difficile da digerire e quindi preferisco altre risorse ma si contraddicono a vicenda o non tengono conto del fatto che il la formulazione e la definizione …
Il seguente esempio senza senso non viene compilato, ma esiste un altro modo per passare un modello variabile come argomento del modello modello? template<typename T> constexpr auto zero = T{0}; template<typename T, template<typename> auto VariableTemplate> constexpr auto add_one() { return VariableTemplate<T> + T{1}; } int main() { return add_one<int, zero>(); …
Jonathan Boccara (autore di Fluent C ++ ) ha scritto una libreria chiamata pipe . Questo "piping", dice la pagina principale del repository, non è come l'uso delle gamme, anche se sembra lo stesso: non si basa sul pull pigro, ma piuttosto sulla spinta desiderosa. Ma si afferma che non …
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 …
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.