В another thread Я представил некоторые методы, которые мы будем использовать для Model-Driven-Development на C++, когда доступны возможности C++ 11, в частности пользовательские литералы. Я только что пересмотрел планы GCC 4.5 и даже 4.6, и это показывает, что эта особенность не поддерживается.Пользовательские литералы (расширенные литералы) C++ 11 ... какие компиляторы поддерживают его?
В любом случае, знаете ли вы, что у меня есть какой-либо компилятор для тестирования этой функции, чтобы начать разработку/реализацию алгоритмов до тех пор, пока C++ 11 не будет одобрен и не реализован в основных бесплатных компиляторах (LLVM, GCC)?
Мы (см. Биографию) создаем переднюю часть C++, используемую для целей реинжиниринга, и являемся C++ 0x в качестве предстоящего стандарта, который, скорее всего, будет реализован в ближайшее время. Хотя я понимаю, какие пользовательские литералы * *, я, по крайней мере, допускаю некоторое недоумение относительно их мотивирующего варианта использования. Тем не менее, вы, похоже, имеете конкретное применение. Можете ли вы набросать, почему пользовательские литералы интересны, особенно для генератора кода, который предположительно может генерировать любой код, который ему нравится, в том числе произвольный goo для инициализации структуры? ... Почему парень, управляемый моделью, даже заботится? –
Ира: Хороший вопрос, и ты прав. Для генератора кода эта функция (почти) мало используется, помимо необходимости генерировать больше классов или менее чистых шаблонов. * Однако * то, что мы хотим достичь, - это очень эффективный охваченный DSL для определения моделей, метамоделей и трансформаций моделей в C++. С помощью метапрограммирования преобразования могут быть намного более эффективными, чем использование, скажем, ATL под Java. –
@Ira UDLs и const_expr должны использоваться для преобразования строк в хэш-коды во время компиляции. – ohmantics