在 c++ 中将数字转换为矢量数组的函数
A function that convert a number into a vector array in c++
vector<int> initialiser(long long int number)
{
vector<int> numberArray(20);
for (vector<int>::iterator it = numberArray.begin(); it != numberArray.end(); it++)
{
numberArray[*it] = number % 10;
number /= 10;
}
return numberArray;
}
当调用此函数(例如 initialiser(123456((时,它返回一个零数组而不是带有此数字的数组。
vector<int> numberArray(20);
最初,数组有 20 个零。
*it
这间接通过迭代器。由于所有值均为 0,因此此间接寻址将导致该零值。
numberArray[*it] = number % 10;
在这里,您修改向量的第一个元素,即numberArray[0]
,因为*it
为零(见上一段(。
在以后的迭代中,您仍会修改第一个元素,因为指向元素的值始终为零。在上次迭代中,您设置的值为零,因为输入整数没有 20 位数字。
相关文章:
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 打印 2D 动态数组 c++ 函数
- C++数组函数
- 在数组函数指针中调用void
- 数组函数似乎没有找到最大值
- 使用数组函数和循环求解伪元编码|C
- 在头文件中的函数原型中获取指针数组:函数声明为 void
- 数组函数错误输出
- 读取文件,然后创建数组函数C++
- 指针数组函数参数-奇怪的行为
- 二维数组 - 函数
- "return"没有从数组函数返回正确的值
- 数组函数问题
- 数组函数的大小返回 int 的大小而不是数组
- 从数组函数中删除元素
- 如何从C++中最好地调用具有C99风格数组函数签名的函数
- 追加/打印/插入数组c++函数问题
- 如何将数组函数转换为指针函数
- 多维数组函数输出垃圾
- C++:数组函数的递归最大值