2017-04-16 32 views
-2

任何人都可以幫助在C++中定義無限數組來創建一個正弦波發生器,我可以在其中存儲正弦波的值?在C++中創建無限數組

for (;;) 
{ 
    X[n]= sin(2*PI*f0/fs); 
} 
+3

你有無限的內存來存儲它嗎? –

+0

只需使用舊的'std :: vector'。 –

+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"; 

我仍然強烈建議簡單地聲明一個大陣,因爲你可能只需要值的數量有限,你事先知道你有多少值需要(當你不知道數組的大小時,通常會使用一個向量)。

+0

你可以幫助澄清我怎麼可以定義這個大陣列來存儲正弦返回它 –

+0

明白了,非常感謝 –

0

不幸的是,它不能做,你至少可以試圖通過一些大的像不斷ULONG_MAX,這是4294967295

但首先迭代,問問自己,你有足夠的內存?