Can I make an assumption that given
std::string str; ... // do something to str
Is the following statement is always true?
Normally, yes.
But if someone decides to redefine an operator then all bets are off:
bool operator == (const std::string& a, const char b[]) { return a != b; // paging www.thedailywtf.com }