Comment by direwolf20
19 days ago
Automatic memory accounting — construct/copy/destruct. You can't abstract these in C. You always have to call i_copied_the_string(&string) after copying the string and you always have to call the_string_is_out_of_scope_now(&string) just before it goes out of scope
This seems orthogonal to std::string. People who pick C do not want automatic memory management, but might want better strings.
Automatic memory management is literally what makes them better
For many string operations such as appending, inserting, overwriting etc. the memory management can be made automatic as well in C, and I think this is the main advantage. Just automatic free at scope end does not work (without extensions).
3 replies →