Articles of c ++ 11

irrlicht: riferimento non definito a `XFree ‘

utilizzo codice :: blocks e irrlicht ma quando eseguo il mio codice ottengo un elenco di errori non so perché il mio codice sia corretto e io uso la versione 1.8.3 dalla lib e l’ho defindata nel codice :: blocca le opzioni || === Build: Debug in shit2 (compilatore: GNU GCC Compiler) === | ../../irrlicht-1.8.3/source/Irrlicht/libIrrlicht.a(CIrrDeviceLinux.o)||In […]

Come posso aggiornare il mio compilatore per utilizzare le funzionalità di C ++ 11?

Ho cercato di entrare in C ++ e ho acquistato il libro “Programmazione – Principi e pratica con C ++” di Bjarne Stroustrup. Quando ho provato a compilare il seguente codice sorgente: #include “std_lib_facilities.h” int main(){ cout<<"Hello, World!\n"; keep_window_open(); return 0; } Sto ottenendo il seguente errore di compilazione: In file included from /Users/hypertrooper/Documents/Programming – […]

Miscelazione di sorgenti C ++ 98 e C ++ 11 in automake / gcc

Ho una lista di file cpp nel progetto che è stato creato usando gli strumenti automake. Alcuni di questi sono scritti usando lo standard pre-C ++ 11 (cioè C ++ 98) e non possono essere compilati con flag c ++ 11 di gcc (-std = c ++ 11). Gli ultimi file cpp utilizzano lo standard […]

Come mappare i valori in modo asincrono su una funzione con il threading?

Sto cercando di imparare come eseguire compiti paralleli “imbarazzanti” in C ++ 11. Un modello comune che ho riscontrato è quello di ottenere il risultato di una funzione quando valutato su un intervallo di valori, simile a chiamare multiprocessing.Pool.map di python. Ho scritto un esempio minimale che mostra ciò che so come fare, ovvero chiamare […]

imposta il flag nel gestore di segnale

In C ++ 11, qual è il modo più sicuro (e per il resto più efficiente) per eseguire codice non sicuro su un segnale catturato, dato un tipo di ciclo di richiesta (come parte di un ciclo di richieste web)? Ad esempio, catturando un SIGUSR1 da una riga di comando linux: kill -30 È accettabile […]

Utilizzo dell’espressione non const come parametro del modello

Questo è un seguito su Come ottengo i tipi di argomento di un puntatore a funzione in una class modello variadic? Ho questa struttura per accedere agli argomenti di un modello variadic: template struct function_traits; template struct function_traits<std::function> { static const size_t nargs = sizeof…(Args); typedef R result_type; template struct arg { typedef typename std::tuple_element<i, […]

Specializzazione del modello di tipo di ritorno esplicito in C ++

Questo è un seguito a questa (più generale) domanda: domanda precedente . Qui viene data una risposta parziale alla presente domanda : risposta parziale alla presente domanda . Mi interessa la specializzazione esplicita del tipo restituito in base all’argomento modello. Mentre la risposta sopra presentata fornisce una soluzione al problema, credo che ci sia un […]

Come usare unordered_set con comparazione?

Ho scritto la mia funzione di confronto per il terzo parametro template di std :: unorderd_set. La mia funzione è static bool HasSamePosition(const Node& a, const Node& b); nel Nodo della class. Ora sto cercando di usare questa funzione nel mio set non ordinato, std::unordered_set<Node, std::hash, bool(*)(const Node& a, const Node& b)> closedlist(&Node::HasSamePosition); ma non […]

std :: initializer_list e un parametro di riferimento

Sono nuovo nell’usare gli elenchi di inizializzatori e mi chiedo se funzionano in modo simile ad altri contenitori di stl. Con ciò intendo, copiano i valori? Quello che sto cercando di fare è una semplice funzione min () come questa: template T& minArgs(const std::initializer_list& Arguments) { const T* Smallest = Arguments.begin(); for (const T* I […]

È ansible fare affidamento sul tipo di handle di Windows come puntatore ok?

Le maniglie di Windows a volte sono fastidiose da ricordare di ripulire dopo (fare GDI con penne e pennelli creati è un ottimo esempio). Una soluzione RAII è fantastica, ma è davvero così bello fare una class RAII completa (regola dei cinque) per ogni diverso tipo di handle? Ovviamente no! Il meglio che posso vedere […]