Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将字符串/双精度向量转换为数组_C++_Algorithm - Fatal编程技术网

C++ 将字符串/双精度向量转换为数组

C++ 将字符串/双精度向量转换为数组,c++,algorithm,C++,Algorithm,我正在使用matheval图书馆。其函数采用c样式参数,例如: #include<matheval.h> char * evaluator_evaluate(void * evaluator, int count, char **names, double *values); #包括 char*evaluator\u evaluate(void*evaluator、int计数、char**名称、双*值); 在我的例子中,我想将名称的std::vector和值的s

我正在使用matheval图书馆。其函数采用c样式参数,例如:

    #include<matheval.h>

    char * evaluator_evaluate(void * evaluator, int count, char **names, double *values);
#包括
char*evaluator\u evaluate(void*evaluator、int计数、char**名称、双*值);
在我的例子中,我想将名称的std::vector和值的std::vector转换为char**和double*

此外,每个名称都对应一个唯一的值,并且可能存在重复。按照数据结构优雅地排列名称和值的最佳方式是什么?现在,我使用向量,两者都包含重复

编辑请记住,名称和值的顺序很重要,应该匹配


感谢内部,该标准要求
向量
等效于数组。您可以获取
向量[0]
的地址,结果指针将指向存储数据的连续内存区域,顺序与向量相同。此指针在调整
向量大小之前或之前有效


但是,对于
std::string
值(或任何其他对象),您只能获得
string
对象的数组。

在内部,标准要求
向量
等同于数组。您可以获取
向量[0]
的地址,结果指针将指向存储数据的连续内存区域,顺序与向量相同。此指针在调整
向量大小之前或之前有效


但是,对于
std::string
值(或任何其他对象),您将只获得
string
对象的数组。

您使用的是STL向量吗?你是不是想摆脱重复的东西?您想/需要保留数据的顺序吗?输入向量以什么格式存储?例如向量?是的,订单问题,向量来自STL。把重复的处理掉就好了。让我适当地编辑这些问题。谢谢你的评论。你在使用STL向量吗?你是不是想摆脱重复的东西?您想/需要保留数据的顺序吗?输入向量以什么格式存储?例如向量?是的,订单问题,向量来自STL。把重复的处理掉就好了。让我适当地编辑这些问题。谢谢你的评论。greyfade,这很好地解决了我双打的第一个问题。第二个呢?有什么建议吗?我只能建议分配一个char**数组,并用string.c_str()指针初始化它。如果C函数希望能够更改它们,那么这可能会导致问题。也许,我可以使用另一种数据结构。这是一个相当常见的问题——我相信有一个解决方案:)可能,但这是我对字符串的唯一想法。祝你好运。格雷法德,这很好地解决了我双打的第一个问题。第二个呢?有什么建议吗?我只能建议分配一个char**数组,并用string.c_str()指针初始化它。如果C函数希望能够更改它们,那么这可能会导致问题。也许,我可以使用另一种数据结构。这是一个相当常见的问题——我相信有一个解决方案:)可能,但这是我对字符串的唯一想法。祝你好运。