有没有人有关于使用运营商""的信息?

Jos*_*tic 28 c++ user-defined-literals c++11

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

ratio = 100m / 1s;
Run Code Online (Sandbox Code Playgroud)

operator""m(...)operator""s(...)被定义.

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

Tom*_*m B 9

您要寻找的语法是"用户定义的文字",这是C++ 11的一个特性.

g ++ 4.7及更好的版本支持此功能.

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

另请参阅Xeo在评论中提供的优秀链接.

  • C++ 11不亚于C++ 98或C++ 03或C99.它们都是该规范的名称,该名称于当年发布.C++ 11于2011年发布,因此适当的术语是C++ 11. (15认同)