【发布时间】:2018-10-11 06:50:36
【问题描述】:
假设我有这个结构:
struct F
{
int& ref; // reference member
const int c; // const member
// F::F() is implicitly defined as deleted
};
这是来自 cppreference。正如我从文档中了解到的那样,F 的构造函数被认为是已删除,因为它有一个引用变量,它什么都不引用。因此,不能像这样声明F 类型的变量:F variableName;,因为会出现以下错误:struct F 中未初始化的引用成员。
我明白这一点,但是我不明白如果你甚至不能声明它的类型的变量,那么这样的结构会有什么好处。这种数据类型在某些特定情况下有用吗?
【问题讨论】:
标签: c++ constructor deleted-functions