我想知道,我通常在代码中使用 std::string ,但是当您在参数中传递字符串以进行简单比较时,只使用文字会更好吗?
考虑这个函数:
bool Message::hasTag(string tag)
{
for(Uint tagIndex = 0; tagIndex < m_tags.size();tagIndex++)
{
if(m_tags[tagIndex] == tag)
return 0;
}
return 1;
}
尽管它与之进行比较的属性是一个向量,并且无论使用此函数什么都可能将字符串传递给它,但使用 const char* 来避免创建一个新字符串会更好吗?无论如何都是字符串文字?