Bjarne Stroustrup今天为2012年Going Native会议做了主题演讲。在他的演讲中,他讨论了执行正确单位的问题。他对此的优雅(恕我直言)解决方案涉及使用我以前从未听说过的运算符:operator""
。使用此运算符,他能够编写如下所示的C ++代码:
ratio = 100m / 1s;
定义了operator""m(...)
和operator""s(...)
。
有没有人知道有关如何实际使用此运算符的任何文档(或者即使任何现代C ++编译器支持它)?我尝试在线搜索,但没有运气。任何帮助将不胜感激。
答案 0 :(得分:9)
您要寻找的语法是“用户定义的文字”,这是C ++ 11的一个特性。
g ++ 4.7及更好地支持此功能。
以下是一些描述该运算符重载使用的文档: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
另请参阅Xeo在评论中提供的优秀链接。
答案 1 :(得分:3)
目前最好的文档可能在标准本身。您可以从the commitee's site获取最新版本。根据{{3}},它将在下一版的gcc(gcc-4.7)中。您应该能够在从SVN存储库构建gcc时对其进行测试。