Допустимо ли добавлять типы в пространство имен std
. Например, мне нужна строка, удобная для TCHAR, и допустимо ли следующее?Добавление типов в пространство имен std
#include <string>
namespace std
{
typedef basic_string<TCHAR> tstring;
}
Или я должен использовать свое собственное пространство имен?
Я не уверен, что это смутит пользователей - на самом деле они могут ожидать, что тип std :: basic_string будет в std. Думаю, жесткого звонка. – Rob 2008-11-26 14:13:57
Нет, Кайдж прав. Вы не должны добавлять ничего в пространство имен std. Пользователи могут * ожидать, что * basic_string будет в std, но он НЕ является частью библиотеки std, и они не найдут в нем ничего в опубликованной документации для данной реализации std. Правильный способ - использовать свои собственные ns. – 2008-11-26 14:36:20
Мне пришлось это посмотреть. `basic_string` фактически определен как часть пространства имен` std` на стр. 384 ISO/IEC 14882: 1998. – Zhro 2016-02-10 00:09:13