私は通常、コードに 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* を使用して、次のように使用される新しい文字列を作成しないようにすることをお勧めします。とにかく文字列リテラル?