C++ 如何设置std::vector<;标准::字符串>;在每个元素中使用自定义字符串

C++ 如何设置std::vector<;标准::字符串>;在每个元素中使用自定义字符串,c++,stdvector,stdstring,C++,Stdvector,Stdstring,我需要将配置设置到某种容器中 我尝试设置为std::vector 但我在两方面都会遇到编译错误: std::vector<std::string> ConfigVec= new std::vector<std::string>(); ConfigVec->at(0).append("00000\ 11111\ 00000"); ConfigVec->at(1) = "11111\

我需要将配置设置到某种容器中 我尝试设置为std::vector 但我在两方面都会遇到编译错误:

 std::vector<std::string> ConfigVec= new std::vector<std::string>();
  ConfigVec->at(0).append("00000\
              11111\
               00000");

    ConfigVec->at(1) = "11111\
             00000\
            00000";
std::vector ConfigVec=new std::vector();
ConfigVec->at(0).追加(“00000\
11111\
00000");
ConfigVec->at(1)=“11111\
00000\
00000";

在不使用大量std::string声明的情况下,最短的方法是什么?首先,删除指针并新建。其次,您将附加到不存在的元素。将字符串推回向量

std::vector<std::string> ConfigVec;

ConfigVec.push_back("000001111100000");
ConfigVec.push_back("111110000000000");
std::vector ConfigVec;
ConfigVec.push_back(“00000 11111 00000”);
ConfigVec.push_back(“11111 0000000000”);
等等

如果有少量字符串,则可以直接初始化向量(除非使用C++11之前的实现):

std::vector ConfigVec{“00000 11111 00000”,“11111 0000000000”};


1*您使用了
ConfigVec
作为指针(将
new
的结果分配给它,并使用
->
访问它的成员),但它实际上并没有声明为指针。这本身就是一个错误。在任何情况下,使用< <代码>新< /C> >和在C++中动态分配资源的原始指针的情况很少。

首先,删除指针和<代码>新< /代码> 1。其次,您将附加到不存在的元素。将字符串推回向量

std::vector<std::string> ConfigVec;

ConfigVec.push_back("000001111100000");
ConfigVec.push_back("111110000000000");
std::vector<std::string> ConfigVec= new std::vector<std::string>();
std::vector ConfigVec;
ConfigVec.push_back(“00000 11111 00000”);
ConfigVec.push_back(“11111 0000000000”);
等等

如果有少量字符串,则可以直接初始化向量(除非使用C++11之前的实现):

std::vector ConfigVec{“00000 11111 00000”,“11111 0000000000”};

1*您使用了
ConfigVec
作为指针(将
new
的结果分配给它,并使用
->
访问它的成员),但它实际上并没有声明为指针。这本身就是一个错误。在任何情况下,使用< <代码>新< /C> >和在C++中动态分配资源的原始指针几乎不存在。
std::vector<std::string> ConfigVec= new std::vector<std::string>();
在任何情况下,您都不能在空向量上使用
at
(或
[]
),除非您首先对其进行了适当的大小调整


在任何情况下,您都不能在空向量上使用
at
(或
[]
),除非您首先对其进行适当的大小调整

找出字符串的规则性,然后按函数生成字符串。找出字符串的规则性,然后按函数生成字符串。@user63898,因为没有理由使用它。通过使用
new
你只是给自己买了一个内存管理问题。但是我想把这个向量传递给其他方法吗?@user63898这很好。如果你不想复制,你可以传递一个参考。但是这与使用
new
没有任何关系。那么我什么时候应该创建新的呢?@user63898例如,在实现容器时(如果必须的话)。目前,您仍然需要调用
new
来实例化
唯一的ptr
,但是有一个
make\u unique
函数可以避免这种情况。它将是下一个C++标准的一部分。关键是标准库为您提供了许多类型和工具,使您可以避免直接处理
new
delete
。@user63898,因为没有理由使用它。通过使用
new
你只是给自己买了一个内存管理问题。但是我想把这个向量传递给其他方法吗?@user63898这很好。如果你不想复制,你可以传递一个参考。但是这与使用
new
没有任何关系。那么我什么时候应该创建新的呢?@user63898例如,在实现容器时(如果必须的话)。目前,您仍然需要调用
new
来实例化
唯一的ptr
,但是有一个
make\u unique
函数可以避免这种情况。它将是下一个C++标准的一部分。关键是标准库为您提供了许多类型和工具,使您不必直接处理
新建
删除
?这里不是电报局,你能说清楚一点吗?这不是电报局。