Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.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++和编程很陌生。我将感谢在C或C++中动态数组大小的帮助。p>_C++ - Fatal编程技术网

C+中的动态数组+; 我对C++和编程很陌生。我将感谢在C或C++中动态数组大小的帮助。p>

C+中的动态数组+; 我对C++和编程很陌生。我将感谢在C或C++中动态数组大小的帮助。p>,c++,C++,我需要将值存储到数组中。(山谷可以改变) 第1组:0,1,2,3 第2组:-0,1,2,3,4 第3组:-0,1 第四组:-0 所以我想让他们把集合1的值存储在数组处理中,然后把集合2存储在同一个数组处理中,依此类推 请回信 谢谢您可以使用: 向量容器实现为动态数组;与常规数组一样,向量容器的元素存储在连续的存储位置,这意味着它们的元素不仅可以使用迭代器访问,还可以使用指向元素的常规指针上的偏移量访问 好像你想要一个.< /p> < P> C++中的动态数组被称为“代码> STD::vector

我需要将值存储到数组中。(山谷可以改变)

第1组:0,1,2,3

第2组:-0,1,2,3,4

第3组:-0,1

第四组:-0

所以我想让他们把集合1的值存储在数组处理中,然后把集合2存储在同一个数组处理中,依此类推

请回信

谢谢

您可以使用:

向量容器实现为动态数组;与常规数组一样,向量容器的元素存储在连续的存储位置,这意味着它们的元素不仅可以使用迭代器访问,还可以使用指向元素的常规指针上的偏移量访问


好像你想要一个.< /p> < P> C++中的动态数组被称为“代码> STD::vector < /代码>,用你想存储的类型替换T。 您还必须将

#include
放在程序的顶部

e、 g

#include//指示编译器识别std::vector
使_函数无效(std::vector v)
{
//在这里你想干什么就干什么
}
int main()
{
std::vector v;//一个int的动态数组,暂时为空
v、 向后推(0);//在数组的末尾(背面)添加0
v、 向后推(1);//在数组的末尾(背面)添加1
v、 向后推(2);//等等。。。
v、 推回(3);
你的_函数(v);//用v={0,1,2,3}做点什么
v、 clear();//再次将v设为空
v、 推回(10);
v、 推回(11);
你的_函数(v);//用v={10,11}做点什么
}

更多有经验的程序员注意:是的,这里有很多东西可以改进(例如常量引用),但我担心这只会让刚开始的程序员感到困惑。

您的问题并不完全清楚,但听起来好像您从一组数据开始,在该数据集上执行一些任务,然后生成另一组数据,使用新集合并创建另一个集合的任务

如果是这样的话,您可能需要了解
交换

e、 g

int main(无效)
{
std::矢量输入、输出;
//把某物推回输入
//对填充输出的输入执行一些任务1
inputs.swap(outputs);//现在任务1的输出已成为任务2的输入
输出。清除();
//对填写输出的输入执行一些任务2
inputs.swap(outputs);//现在任务2的输出已成为任务3的输入
输出。清除();
//执行一些任务3等等
返回0;
}

您的问题有点不清楚。请编辑并使用更清晰的语言和文字。这会给你的问题带来更好的答案。你把它们当作集合来表示有趣。你可以使用另一个模板。为什么你说你是C++的新手,然后问(非排他性)C例子?你想要C++,你在学习C++。此外,你最好这样做,你可能永远也学不到其他任何方法。是的,但增加更多。。。我开始扫描输入端口上的数据位,并根据第一位使用case语句进行处理。例如,输入数据为01 03 02。使用case1(如果第一位==1),然后将02 03 04存储在数组中。。其他数据集也是如此。如果数据是02 03 04 01,则案例2:然后存储03 04 01,依此类推。。。请回复…@user2829:如果您想从向量中读取值,您可以像
开关(输入[0]){case1:…break;case2:…break;}
。要将值添加到向量的末尾(使其更长),请使用
output.push_back(7)。要覆盖一个值(长度保持不变),可以执行
output[3]=7
#include <vector> // instruct the compiler to recognize std::vector

void your_function(std::vector<int> v)
{
  // Do whatever you want here
}

int main()
{
  std::vector<int> v; // a dynamic array of ints, empty for now

  v.push_back(0); // add 0 at the end (back side) of the array
  v.push_back(1); // add 1 at the end (back side) of the array
  v.push_back(2); // etc...
  v.push_back(3);
  your_function(v); // do something with v = {0, 1, 2, 3}

  v.clear();       // make v empty again
  v.push_back(10);
  v.push_back(11);
  your_function(v); // do something with v = {10, 11}
}
int main(void)
{
    std::vector<int> inputs, outputs;
    // push_back something into inputs

    // perform some task 1 on inputs which fills in outputs
    inputs.swap(outputs); // now the outputs of task 1 have become the inputs of task 2
    outputs.clear();

    // perform some task 2 on inputs which fills in outputs
    inputs.swap(outputs); // now the outputs of task 2 have become the inputs of task 3
    outputs.clear();

    // perform some task 3 and so on

    return 0;
}