У кого-нибудь есть информация по использованию оператора ""? - PullRequest
28 голосов
/ 03 февраля 2012

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

ratio = 100m / 1s;

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

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

Ответы [ 2 ]

9 голосов
/ 03 февраля 2012

Синтаксис, который вы будете искать, это «пользовательские литералы», который является функцией C ++ 11.

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

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

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

3 голосов
/ 03 февраля 2012

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

...