是否有const构造函数这样的东西?

时间:2015-04-03 17:04:37

标签: c++ visual-studio

今天我不小心将const放在构造函数的开头(复制粘贴错误)并编译。我只在Visual Studio 2008中尝试了这个,它是C ++ 11之前的版本。这种语法有什么意义吗?这是微软早期尝试constexpr吗?

class foo
{
public:
    const foo(int i){}
};

foo f(1);

1 个答案:

答案 0 :(得分:4)

您的代码不符合标准,没有这样的东西。但是,从C ++ 11开始,您可以拥有constexpr构造函数,因此您的对象在编译时构造,并且可以在constexpr表达式中进一步使用。

虽然我没有使用它,但MSVS在标准合规方面并不是最好的编译器,至少我从本网站上的各种问题中意识到这一点。

相关问题