c++ - 有 const 构造函数这样的东西吗?

标签 c++ visual-studio

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

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

foo f(1);

最佳答案

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

虽然我没有使用它,但就标准合规性而言,MSVS 并不是最好的编译器,至少我是从这个站点上的各种问题中了解到的。

关于c++ - 有 const 构造函数这样的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29436564/

相关文章:

jquery - 是否可以在其他js文件中获取jquery的智能感知?

visual-studio - '无法加载文件或程序集'FSharp.Core,版本= 4.6.2.0

c++ - OpenGL Superbible 第一个程序崩溃

c++ - 为什么迭代器定义为结构而不是类?

c++ - 创建 5 个 1 到 20 之间唯一整数的数组的算法

asp.net - 如何设置 ASP.NET 网站的目标平台

javascript - 在 Angular 项目中包含 antlr4 的问题

c++ - 执行字节交换意味着什么?

c++ - cudaOccupancyMaxActiveBlocksPerMultiprocessor 未定义

visual-studio - 如何避免超过 Visual Studio 中的内部 ILK 大小限制?