Расположение функции std :: to_string - PullRequest
0 голосов
/ 12 октября 2018

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

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

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

1 Ответ

0 голосов
/ 12 октября 2018

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

to_string написан не в стиле OO.

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

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

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

Кроме того, to_string, возможно, является методом как исходного, так и целевого API;таким образом, сомнительно, что метод того или другого является сомнительным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...