Come progetto di un Master, sto progettando un semplice sistema operativo. È progettato per funzionare in modalità Real a 16 bit su un'architettura x86. Idealmente, mi piacerebbe sviluppare questo sistema operativo in C ++ e utilizzare solo l'assembly, laddove necessario. Finora, ho un boot loader scritto in assembly, che carica un kernel che è un mix di C ++ e asm. La mia domanda riguarda l'utilizzo di C ++. A partire da ora, ha compilato e può essere eseguito, ma non ho usato alcuna allocazione di memoria dinamica.
Se stavo usando C, avrebbe senso scrivere funzioni malloc che gestissero l'allocazione della memoria, ma in C ++ viene usata la nuova parola chiave. Quindi ...
In che modo "nuovo" funziona dietro le quinte per allocare memoria e come dovrei gestirlo?
E come corollario ...
Ha senso cercare di usare C ++ per sfruttare le sue astrazioni di livello più alto? O sarebbe più un mal di testa usarlo e dovrei rimanere con C?
Fornisci spiegazioni logiche se ritieni che C ++ non sia una buona scelta.