2012-04-07 61 views
5

我最近关注的是GoingNative2012,当然是C++ 11。什么是我在GoingNative2012中看到的运营商“”

在Bjarne Stroustrup部分,我发现有一个有趣的操作符函数,如下所示。

constexpr Value<Second> operator""s(long double d) 
{ 
    return Value<Second>(d); 
} 

好,constexpr,看起来像在C++ 11的新关键字,

我从来不知道 “” 过载,能够身边?

这是C++的新功能之一,虽然我未能使用VS 2010测试它吗?

在此先感谢。

+5

是你不听,当你看着它,他说什么? – Troubadour 2012-04-07 09:11:27

+1

此代码示例在两种方式中不正确:1)“”和后缀之间需要空格,以及2)用户定义的后缀应以下划线开头;不以下划线开头的后缀保留给未来的标准化。 – 2012-04-09 03:12:22

回答

5

这是一个新的C++11核心语言功能:user defined litterals

+0

非常感谢。 – 2012-04-07 09:16:09

+0

尽管如此,因为该文章在维基百科上,它只是可能不完全正式。 (例如,它表示“字符”12.5“是一个由编译器作为double值与12.5一起解析的字面值。”......) – 2012-04-07 09:36:48

+0

同意维基百科上的某些细节可能稍微有些错误,但这是一个很好的,容易理解的概要C++ 11标准(近千难读的页面)带来了什么...... – 2012-04-07 09:53:00