View Single Post
Old 11-10-2008, 09:16 AM   #9
Data
retired
 
Data's Avatar


 
Join Date: Jun 2004
Location: Jan Mayen, Svalbard and Jan Mayen
Posts: 2,167
Default

Quote:
Originally Posted by Japofran View Post

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:
*templine = '\0';
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.
__________________
Flowing with the stream of life
Data is offline                         Send a private message to Data
Reply With Quote