[語法] vector 代替 array

看板C_and_CPP作者 (啵啾。)時間14年前 (2010/06/08 22:28), 編輯推噓5(508)
留言13則, 6人參與, 最新討論串1/1
各位前輩好,想請教一個vector的問題 之前在學 array 時,似乎可以直接指定 array 中的值 ex: int x; int y; A[x]=A[y]; //此時cout的A[x]為A[y]的值 那如果現在要改用 vector...請問該怎麼寫 我的 x 跟 y 會隨著迴圈數的不同而改變 有寫了一個 array 的版本 int x=0; int y=0; int c=0; for(size_t i=0;i<=num;++i) { if(~~~) { x=y+1; y=x+1; A[x]=A[c]+1; A[y]=A[c]+1; ...... } } 因為 vector 我只知道他是有順序的把值推進去 不知道要怎麼改其中一個位子上的值 謝謝各位 >__< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.181.176

06/08 22:33, , 2F
vector 同樣可以用 [] 來操作
06/08 22:33, 2F

06/08 22:47, , 3F
推進去是 push_back() 的意思?
06/08 22:47, 3F

06/08 22:48, , 4F
恩,對 A.push_back(i)
06/08 22:48, 4F

06/08 23:07, , 5F
如果不覺得麻煩, 用 at 比較好些
06/08 23:07, 5F

06/08 23:11, , 6F
因為會檢查邊界?
06/08 23:11, 6F

06/08 23:12, , 7F
檢查邊界 + throw exception, 偵錯比較容易
06/08 23:12, 7F

06/08 23:17, , 8F
呃..不好意思,看了網站,小女子仍不了解at.( )..Q__Q
06/08 23:17, 8F

06/08 23:20, , 9F
vec[ 0 ] 跟 vec.at( 0 ) 是一樣的, 但是如果索引超過
06/08 23:20, 9F

06/08 23:20, , 10F
範圍, 會丟例外給你知道
06/08 23:20, 10F

06/08 23:30, , 11F
!會讓我知道,比我還聰明...
06/08 23:30, 11F

06/08 23:57, , 12F
其實 valarray 會比較像陣列
06/08 23:57, 12F

06/09 09:31, , 13F
附註一提用 at 會慢很多
06/09 09:31, 13F
文章代碼(AID): #1C3bEHoF (C_and_CPP)