所以我想做的是在我的程序中扩展现有的向量类,让我这样说,
vector<string>* vec = new vector<string>(){"Value1","Value2"};
或者
vector<string>* vec = new vector<string>({"Value1","Value2"});
或者
vector<string> vec = {"Value1","Value2"};
我知道我可以完成这样的事情,但这样做,
string temp[] = {"Value1","Value2"};
vector<string> vec(temp, temp+ sizeof(temp) / sizeof( temp[0] ) );
这使用了向量迭代器构造函数,但我不能删除多余的行吗?
partial
我知道在 C# 中,你可以通过使用这样的关键字将任何你想要的东西添加到现有的东西中,
public partial class ClassName
{
ClassName(Stuff stuff)
{
}
void AmazingNewMethod()
{
}
}
C++ 在某处有这样的绝招吗?
我是否必须继承向量并构建一个customVector
具有在幕后执行迭代器构造函数的构造函数?
也许将这些行包装在一个静态帮助函数调用中,通过引用设置它并将其添加到某处的工具箱类中?
我觉得很多程序员都遇到了这个问题。有什么优雅的解决方案吗?
谢谢。
编辑:固定标题以提及这是一个 Initializer List 构造函数。