Расположение функции std :: to_string

По какой причине функция std :: to_string не является методом класса std :: string? Потому что это было бы логически более уместно, не так ли? Я хочу знать, почему они не сделали бы это:

1) статическая функция-член класса std :: string

2) почему бы им не интегрировать его с конструктором, поэтому можно было бы сделать как std :: string ten (10) и получить «10»

0

Решение

С ++ не является ОО-языком. Вы можете написать ОО-код на C ++, но вы также не можете.

to_string не написано в стиле ОО.

Есть преимущества; самый большой из них ваш код может выбрать для лечения to_string в качестве точки настройки, делая

using std::to_string;
std::string foo=to_string(x);

а теперь любой тип, который реализует to_string во вложенном пространстве имен работает с приведенным выше кодом.

Также, to_string возможно, это метод API как для источника, так и для пункта назначения; таким образом сомнительно, что метод того или другого

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]