gpt4 book ai didi

c++ - 在 C++ 中使用 vector ?

转载 作者:太空宇宙 更新时间:2023-11-04 14:31:44 25 4
gpt4 key购买 nike

如何插入 <char>数组到 <char*>像这样的 vector :

std::vector<char> ch;
ch.push_back('H');
ch.push_back('e');
ch.push_back('l');
ch.push_back('l');
ch.push_back('o');

std::vector<char*> vec;
vec.push_back(ch);

但它给出错误提示:push_back() cannot convert parameter 1 from....那么有没有办法加载ch[]值到 vec[0]并且仍然使用我的一个函数来搜索 vector 中的内容,例如: vecf[]其中包含一个文件内容,我可以搜索 vecf[0]vecf[1]...对于类似的内容,例如搜索文本 "Hello"来自 "Hi, Hello..."

有人告诉我我的问题不清楚,所以这里是更清晰的版本:可以这样做:

char string[]="Hello World";
std::vector<char*> vec;
vec.push_back(string);
cout<<vec[0];

那么如果一个字符串是这样的 std::vector 类型:

std::vector<char> string;
std::vector<char*> vec;
how would i do like this?
vec.push_back(string);

或类似的东西将字符串的内容放入 vec 中,而 ch 和 vec 不在实际项目中,我使用术语 ch 和 vec 只是一个例子来说明如何这样做,在我的项目中有一个char vector 变量 ID,类似于此 ID="ID2"但在 vector 中,ID 的值是从文件加载的,还有另一个包含引用 ID 的标签,我将与 ID[0]/ID[1] 进行比较直到一个匹配,如果一个匹配,我将得到它在数组中的位置,然后有另一个 vector 变量(int),它包含文件中数组的所有节点位置,我将像这样使用 SPos[ArrayPos] 来获取节点的位置在文件中,希望这已经足够清楚了...

最佳答案

std::vector<char*> vec;

这表明 vec 是 char* 的 vector 。

但是您正试图插入一个 vector 。此处无法进行自动转换。

假设你真的不想使用字符串类型,你会想要声明

std::vector<std::vector<char> > vec;
vec.push_back(ch);

请注意,如果要存储指向 vector 的指针,则必须在堆上分配 ch。

关于c++ - 在 C++ 中使用 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27340234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com