Подтвердить что ты не робот

Кто-нибудь имеет информацию об использовании оператора ""?

Бьярне Страуструп выступил с основным докладом на конференции Going Native 2012. В своем выступлении он обсудил вопрос о соблюдении правильных единиц. Его изящное (IMHO) решение для этого связано с использованием оператора, о котором я никогда не слышал раньше: operator"". Используя этот оператор, он смог написать код на С++, который выглядел следующим образом:

ratio = 100m / 1s;

Где были определены operator""m(...) и operator""s(...).

Кто-нибудь знает какую-либо документацию о том, как реально использовать этот оператор (или даже если какие-либо современные компиляторы С++ поддерживают его)? Я пробовал искать в Интернете, но не повезло. Любая помощь будет принята с благодарностью.

4b9b3361

Ответ 1

Синтаксис, который вы ищете, - это "пользовательские литералы", которые являются характеристиками С++ 11.

g++ версии 4.7 и лучше поддерживать эту функцию.

Ниже приведена документация, описывающая использование этой перегрузки оператора: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf

Также см. отличную ссылку, которую Xeo предоставляет в комментариях к вашему вопросу.

Ответ 2

В настоящее время наилучшая документация, вероятно, находится в самом стандарте. Вы можете получить последнюю версию из сайта коммитов. Согласно gcc site, он будет в следующей версии gcc (gcc-4.7). Вы должны проверить его при создании gcc из репозитория SVN.