Sono certo che, in pratica, l'uso di ::new
è thread-safe. La mia domanda è quale parte dello standard prevede tale garanzia, se esiste? È una convenzione? È qualcosa in cui lo standard dà molta libertà alle implementazioni (come i vincoli relativamente sciolti su quale dimensione ciascun tipo di dati è) per supportare un'ampia varietà di hardware?Sicurezza thread di :: new in C++ 11
Spero che ci sia solo una riga nello standard C++ 11 da qualche parte che specifica esplicitamente "le implementazioni di ::new
devono essere thread-safe".
Mi piacerebbe anche vedere alcuni standard sulla sicurezza del thread di nuovi sovraccarichi dell'operatore. Immagino che avrebbero anche bisogno di essere richiesto per essere protetto da thread, ma queste funzioni non rientrano nella garanzia coperta che const => thread safe (in C++ 11).
Grazie!
Perché lo standard garantisce all'utente che il sovraccarico di questo operatore è sicuro per i thread? Il tuo programma, i tuoi problemi. – MSalters
@MSalters - Per la stessa ragione per cui rende const => thread-safe. Perché senza garantire anche quella garanzia nel tuo codice, non puoi interagire con la libreria standard in modo sicuro. Puoi spararti ai piedi? Sì, come quasi tutto in C++ ... ma non è questo il punto. – Mark