Come progetto di un Master, sto progettando un semplice sistema operativo. È stato progettato per funzionare in modalità reale a 16 bit su un'architettura x86. Idealmente, vorrei sviluppare questo sistema operativo in C ++ e usare assembly solo se 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'uso del C ++. A partire da ora, è stato compilato e può essere eseguito, ma non ho utilizzato alcuna allocazione dinamica della memoria.
Se usassi C, sarebbe logico scrivere funzioni malloc che gestiscano l'allocazione di memoria, ma in C ++ viene usata la nuova parola chiave. Così...
Come funzionano i "nuovi" dietro le quinte per allocare la memoria e come potrei fare per gestirli?
E come corollario ...
Ha senso provare a usare il C ++ per trarre vantaggio dalle sue astensioni di livello superiore? O sarebbe più un mal di testa usarlo e dovrei rimanere con C?
Fornisci le motivazioni se ritieni che C ++ non sia una buona scelta.