我有一个使用 std::deque 的类表
class Table {
public:
Table():columns_(10) {};
private:
std::deque<Column> columns_
}
我希望只有类表可以初始化类列,所以我执行如下操作
class Column {
private:
int a_;
friend class Table;
Column(): a_(1) {};
}
在编译期间,STL 容器抱怨 Columns 类的构造函数是私有的,我理解,但是有另一种方法可以确保只有类 Table 可以初始化类 Column 并且仍然能够在 STL 容器中使用它。