在C+中创建无限数组+; 可以帮助任何人定义C++中的无限数组来生成正弦波发生器,在这里我可以存储正弦波的值吗?
在C+中创建无限数组+; 可以帮助任何人定义C++中的无限数组来生成正弦波发生器,在这里我可以存储正弦波的值吗?,c++,arrays,C++,Arrays,for (;;) { X[n]= sin(2*PI*f0/fs); } 如果您想要一个“无限制”(仍然受到可用RAM数量的限制)阵列,您可以使用。(见下文编辑) 但是,在您的情况下,我将使用大数组(例如,最多一百万个元素或等于屏幕宽度的数组大小) 编辑:以下是一个示例 // Declare (and instantiate) a vector std::vector<float> vec; // Add elements to the vector for
for (;;)
{
X[n]= sin(2*PI*f0/fs);
}
如果您想要一个“无限制”(仍然受到可用RAM数量的限制)阵列,您可以使用。(见下文编辑)
但是,在您的情况下,我将使用大数组(例如,最多一百万个元素或等于屏幕宽度的数组大小)
编辑:以下是一个示例
// 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";
//声明(并实例化)一个向量
std::vec;
//向向量添加元素
对于(int i=0;i<100;i++)
向量推回(i*i);
//读取并打印矢量中的元素
对于(int i=0;i std::cout不幸的是,这是无法实现的,您至少可以尝试遍历一些大常量,如ULONG_MAX
,即4294967295
但是首先,问问你自己你有足够的内存吗?你有无限的内存来存储它吗?只要使用好的旧std::vector
。计算机中没有任何东西是无限的。你能帮我澄清一下我如何定义这个大数组来存储正弦回波吗