Hi all,
I've mostly only worked with C, and am running into some unfamiliar issues in C++. Let's say that I have some function like this in C, which would be very typical:
int some_c_function(const char* var)
{
if (var == NULL) {
/* exit early so we don't dereference a null pointer */
}
/* rest of code */
}
and let's say that I'm trying to write a similar function in C++:
int some_cpp_function(const some_object& str)
{
if (str == NULL) // this doesn't compile, probably because some_object doesn't overload the == operator
if (&str == NULL) // this compiles, but doesn't work, and does this even mean anything?
}
Basically, all I'm trying to do is to prevent the program from crashing when some_cpp_function() is called with NULL.
what is the most typical/common way of doing this with an object C++ (that doesn't involve overloading the == operator)?
is this even the right approach? ie. should I not write functions that take an object as an argument, but rather, write member functions? (but even if so, please answer the original question)
between a function that takes a reference to an object, or a function that takes a C-style pointer to an object, are there reasons to choose one over the other?