Quote:
Originally Posted by Japofran
As a matter of fact using an overloaded assignment operator with a string is not a C-ism at all... Actually the robust C code to clear a string or check if it's not empty is very brief and immediately recognizable:
Code:
while ( *templine != '\0' );
(Actually I could write just 0 instead of '\0', couldn't I? Hm better safe than sorry.) Of course templine would here be a C string (pointer to char), not a string object. I can't do this stuff with objects and I'm not supposed to, their innards are "private".
|
You are totally right about the fact that using the overloaded operators is very C++ like and not C like, however for a starting programmer (for those I posted this very simple piece of code), it can be confusing and might lead to bad practices with other objects.
Maybe i should use string.append instead of the += as well.... but it doesn't make the code look more beautiful in my opinion. In my code not intended for newbies you will find lot's of classes in which I overloaded the operators in order to keep their usage intuitive. (So you don't need to learn an interface before you can use it)
You could use 0 instead of '\0' I always use 0., but this comes mainly from the fact that
in C++ NULL and 0 are the same, so I can stick with one type of 0 for everything.
I could ramble on about objects and stuff and as well, but that has fairly little to do with the solved problem.
Thank you for your discussion so far. I really appreciate it.