std :: any - почему так мало операторов? - PullRequest
0 голосов
/ 06 декабря 2018

Я смотрю на использование std :: any для стирания типов в качестве части интерфейса, который я создаю, и мне остается удивляться, почему в нем так мало операторов, как «+», «==».Я возился с Coliru здесь , где я расширил std :: any для суммирования и печати в ostream.Это только для тех, кто держит double сейчас, но концепция работает, это всего лишь реализация, которую необходимо выполнить для поддержки всех основных числовых типов данных (если lhs и rhs одинакового типа для операндов).

Учитывая то, что за такое короткое время я смог расширить что-либо подобное, почему реализация stl так ограничена, когда дело касается операндов?

Любые мысли приветствуются.

1 Ответ

0 голосов
/ 06 декабря 2018

Потому что в полной общности (к чему стремится std::any) эти операторы не имеют смысла.Что касается ваших конкретных примеров:

+: бессмысленно для объектов, подобных дате.

==: бессмысленно для только для записи объектов.

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