這個問題很愚蠢,但我需要以非常有效的方式來完成 - 它將在我的代碼中重複執行。我有一個返回一個向量的函數,我必須將返回的值添加到另一個向量中,逐個元素。很簡單:如何通過兩個STL向量的元素添加元素?
vector<double> result;
vector<double> result_temp
for(int i=0; i< 10; i++) result_temp.push_back(i);
result += result_temp //I would like to do something like that.
for(int i =0; i< result_temp.size();i++)result[i] += result_temp[i]; //this give me segfault
,我試圖做的數學運算是
U [i] = U [I] + V [I]對於所有i
可以做些什麼?
感謝
編輯:添加了一個簡單的初始化,因爲這是不是問題的關鍵。應該如何初始化結果?
你能發佈一些編譯代碼? 「這給了我一個段錯誤」在沒有看到這些向量是如何初始化的情況下並不是特別有用。最可能的問題是其中一個向量比另一個長。在沒有看到所有代碼的情況下很難確定代碼是錯誤的:-) – 2010-07-30 23:48:10
http://www.boost.org/doc/libs/1_43_0/libs/numeric/ublas/doc/operations_overview.htm – Anycorn 2010-07-30 23:57:41