Initializing strings as null vs. empty string

c++, initialization, string

Solution

There's a function `empty()` ready for you in `std::string:`

std::string a;
if(a.empty())
{
    //do stuff. You will enter this block if the string is declared like this
}

or

std::string a;
if(!a.empty())
{
    //You will not enter this block now
}
a = "42";
if(!a.empty())
{
    //And now you will enter this block.
}

Problem

Would it matter if my C++ code (as shown below) has a string initialized as an empty string: ``` std::string myStr = ""; ....some code to optionally populate 'myStr'... if (myStr != "") { // do something } ``` vs. no/null initialization: ``` std::string myStr; ....some code to optionally populate 'myStr'... if (myStr != NULL) { // do something } ``` Are there any concerns here?

Original source

Related problems