я читаю Googletest doc, и я узнаю, что есть один синтаксис для сравнения строки и другой для сравнения строки C. Я не вижу, что называется строкой C и строкой. Чем они отличаются?
std::string
часто называют C++ string
, Использование строк, таких как
const char *text = "text";
называется CStrings.
гораздо больше информации можно найти здесь:
В чем разница между char * const и const char *?
Когда использовать const char * и когда использовать const char []
Если вы попытаетесь использовать ASSERT_EQ
с C-Strings вы сравниваете только два указателя, но на самом деле C-Strings не заканчиваются нулем. Для этого существует ASSERT_STREQ
синтаксис.