當我聲明一個向量時,它默認填充爲零。作爲模擬的一部分,我希望它在循環中初始化每個迭代。什麼是正確和有效的方式來做到這一點?每個循環初始化一個向量
我想解決兩種情況:
我想它被歸零到一個已知的值,即
#include <iostream> #include <vector> using namespace std; const int nSteps = 10000; const int nReal = 10; int main() { for (unsigned int i = 0 ; i<nRealization; i++) { vector<double> v(nSteps); for (unsigned int j = 0 ; j<nSteps ; j++) { //stuff going on with v } } }
的長度沒有限定n步(它被賦予與使用
push_back
功能)#include <iostream> #include <vector> using namespace std; const int nSteps = 10000; const int nReal = 10; int main() { for (unsigned int i = 0 ; i<nRealization; i++) { vector<double> v; // some function that uses push_back gives v its length for (unsigned int j = 0 ; j<nSteps ; j++) { //stuff going on with v } } }
你能否讓你的例子更清楚?請包括你期望在每種情況下矢量的最終狀態;即它應該具有什麼長度和內容。 –
@DanHulme,第一個案例已經有答案 – jarhead
@DanHulme,在第二個案例中究竟有什麼不明確的地方? – jarhead