Suppose we have an Instance
class in a C++ program, which has a GUID/UUID, name, parents, children, and other properties which can be saved to or loaded from an XML file.
The intuitive approach for representing the name of the Instance
is to give it a property of type std::string
, char*
/char[]
, or whatever other generic string type is being used. Some programs, however, use a separate Name
class as a wrapper around a string. I’ve looked at source code which does this, but from everything I’ve seen, the Name
class has no purpose besides providing a mutex, various assert
s and other runtime error checking, and convoluted-looking declaration methods (usually a combination of functions like declare() { <declaration code> }
, doDeclare() { <some convoluted stuff>; declare() }
, and callDoDeclare() { <even more convoluted nonsense>; doDeclare() }
.
Is there actually a reason to use a special Name
class, or can I just use a regular string property? Should I even be worrying about this so early on in the development of my project?