28

Bjarne Stroustrup 今天为 Going Native 2012 会议做了主题演讲。在他的演讲中,他讨论了执行正确单位的问题。他对此的优雅(恕我直言)解决方案涉及使用我以前从未听说过的运算符:operator"". 使用此运算符,他能够编写如下所示的 C++ 代码:

ratio = 100m / 1s;

在哪里operator""m(...)operator""s(...)被定义。

有谁知道有关如何实际使用此运算符的任何文档(或者即使任何现代 C++ 编译器都支持它)?我尝试在网上搜索,但没有运气。任何帮助将不胜感激。

4

2 回答 2

9

您要查找的语法是“用户定义的文字”,它是 C++11 的一个特性。

g++ 版本 4.7 及更好地支持此功能。

以下是一些描述使用该运算符重载的文档: http ://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf

另请参阅 Xeo 在对您的问题的评论中提供的出色链接。

于 2012-02-02T20:43:13.710 回答
3

目前最好的文档可能在标准本身。您可以从委员会的网站获取最新版本。根据gcc 的网站,它将在 gcc 的下一个版本(gcc-4.7)中。从 SVN 存储库构建 gcc 时,您应该能够对其进行测试。

于 2012-02-02T20:52:08.033 回答