Правильная идиома для Std :: String Constants?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Правильная идиома для Std :: String Constants?

Сообщение Anonymous »

У меня есть карта, которая представляет объект DB. Я хочу получить «хорошо известные» значения от него < /p>

Код: Выделить всё

 std::map dbo;
...
std::string val = map["foo"];
< /code>
Все хорошо, но мне поражает, что «foo» преобразуется во временную строку при каждом вызове. Конечно, было бы лучше иметь постоянную Std :: String (конечно, это, вероятно, крошечные накладные расходы по сравнению с диском IO, который просто принес объект, но я все еще является действительным вопросом). Так что же такое правильная идиома для констант Std :: String? < /P>
Например - я могу иметь < /p>
 const std::string FOO = "foo";
< /code>
В заголовке, но затем я получаю несколько копий < /p>
Игнорирую всю карту, STL и т. Д. Много кода в значительной степени std :: string 
-орицентирован (мой, конечно, есть), и естественно хотеть для них постоянные, не платя снова и снова за распределение памяти.

Подробнее здесь: https://stackoverflow.com/questions/231 ... -constants
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»