[c++] Differences between C++ string == and compare()?