C++类中初始化一个空列表
C++ initialize an empty list in class
如何将空列表初始化为C++类中的私有成员?我不想提示用户传入空列表,而只是在创建类的新实例时创建一个。
标题.h
class MyClass{
public:
MyClass();
private:
list<int> myList;
}
我的班级.cpp
MyClass::MyClass()
:myList(list<int>){}
这不像写的那样工作,我在这里错过了什么?
你不需要做任何事情。默认构造函数,顾名思义,默认情况下被调用。所以这已经是正确的了:
class MyClass{
public:
MyClass() { } // c++03
MyClass() = default; // c++11
private:
std::list<int> myList;
};
如果您希望成员初始值设定项列表中仍有myList
,只需提供空参数即可:
class MyClass{
public:
MyClass()
: myList() // explicitly use default ctor
{}
private:
std::list<int> myList;
};
如果要选择性地交出用户定义的值,可以使用构造函数的初始值设定项列表。此外,默认列表为空内容。
class MyClass{
public:
MyClass(list<int> theList = {}) : myList(theList) {}
private:
list<int> myList;
}
相关文章:
- 链表,将列表复制到另一个列表
- 为什么在排序链表上的这种合并实现总是将两个列表都设置为 NULL,而只有一个应该设置一个列表?
- 我如何创建一个列表,然后从中创建两个列表,其中一个用于偶数,另一个用于奇数?
- 是否可以使用OpenMP并行化一个列表,该列表可以在每次迭代中添加新元素
- 打印一个列表给出错误,指出迭代器不可递减
- C++:从两个包含子类 (typedef) 的列表创建一个列表
- 在 std 列表中查找对象并将其添加到另一个列表
- 在c++中遍历一个列表并在另一个列表中搜索每个元素
- 我在 C++ 中创建了一个列表容器类,但它没有按预期工作
- 如何通过赋值运算符重载将一个列表复制到另一个列表上?C++
- 正在将指针复制到assign运算符中的另一个列表元素
- 在c++中传递一个列表作为返回类型
- 如何在c++中创建一个列表及其内容常量
- C++:如何将迭代器设置为另一个列表中的结构内的列表
- C++ std::sort 引用另一个列表的自定义比较函数
- 如何让数组在下一次输入之前显示数组内容的前一个列表?
- 如果我创建一个列表:<T>:迭代器,有没有办法重载++(增量)运算符?
- 我如何解码一个列表的列表
- 如何在c++中用一个目录中的所有文件夹填充一个列表框
- c++遍历一个列表来调用某个函数