"a" == "a"
This expression can give trueor false; there are no guarantees. Two string literals "a"can occupy the same storage, or they can exist in two different memory locations.
, ++: " ( , ) - , " (++ 11 §2.14.5/12). , .
"a" != "b"
false, , : "a"[0] != "b"[0].
, .
, (<, >, <= >=) , (== !=), . , .
"a" , "a" < "a" false, ('a') .
, "a" , "a" < "a" undefined, , , .
"a" "b" , "a" < "b" undefined. .
, - , , std::less -, - . std::greater, std::greater_equal std::less_equal. , , , - , .