任何人都可以帮助在C ++中定义无限数组来制作正弦波发生器,在那里我可以存储正弦波的值吗?
for (;;)
{
X[n]= sin(2*PI*f0/fs);
}
答案 0 :(得分:0)
如果您想要“无限制”(仍然受可用RAM量限制)阵列,您可以使用vector。(参见下面的编辑)
但是,在您的情况下,我会使用大型数组(例如,最多一百万个元素或数组大小等于屏幕宽度)。
编辑:以下是一个示例
// Declare (and instantiate) a vector
std::vector<float> vec;
// Add elements to the vector
for(int i = 0; i < 100; i++)
vec.push_back(i*i);
// Read and print the elements in the vector
for(int i = 0; i < vec.size(); i++)
std::cout << "vec[" << i << "] = " << vec[i] << '\n';
// Note:
std::cout << "Note that a vector is limited to " << vec.max_size() << " elements\n";
我仍强烈建议简单地声明一个大型数组,因为您可能只需要有限数量的值,并且事先知道需要多少个值(当您不知道数组有多大时,通常会使用向量定)。
答案 1 :(得分:0)
不幸的是,它无法完成,你至少可以尝试迭代像ULONG_MAX
这样的大常量,即4294967295.
但首先,问问自己你有足够的记忆吗?