在 c++ 中将数字转换为矢量数组的函数

A function that convert a number into a vector array in c++

本文关键字:数组 函数 转换 c++ 数字      更新时间:2023-10-16
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 位数字。