Come dice il titolo, mi piacerebbe sapere se lo stile di codifica può causare o influenzare la frammentazione della memoria in un'applicazione nativa, in particolare una scritta usando C ++. Se lo fa, mi piacerebbe sapere come.
Un esempio di ciò che intendo per stile di codifica sta usando std::string
per rappresentare stringhe (anche stringhe statiche) ed eseguire operazioni su di esse invece di usare la Libreria C (come strcmp
, strlen
, e così via ) che può funzionare sia su stringhe dinamiche che su stringhe statiche (quest'ultimo punto è vantaggioso poiché non richiede un'assegnazione aggiuntiva per accedere alle funzioni stringa, che non è il caso di std::string
).
Un atteggiamento "lungimirante" che ho con C ++ è quello di non usare il CRT, poiché farlo sarebbe, in un certo senso, un passo indietro. Tuttavia, tale stile comporta allocazioni più dinamiche e, in particolare, per un'applicazione a lunga durata come un server, questo fa pensare che la frammentazione della memoria potrebbe diventare un problema.