[問題] vector.size()的大小只能傳回整數?

看板C_and_CPP (C/C++)作者 (Terry)時間14年前 (2011/10/15 12:20), 編輯推噓2(2019)
留言21則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vc+= 2008 問題(Question): 請教一下,我說明一個簡單的例子 int main() { vector<double> vector1; vector1.push_back(20); //vector1.push_back(30); //如果這行不拿掉結果就會是0 //vector1.push_back(40); //如果這行不拿掉結果就會是0 //vector1.push_back(50); //如果這行不拿掉結果就會是0 cout<<1/vector1.size();//想要回傳有小數點的size(),所以我分子放1做測試 } 感覺vector回傳的size()只限於整數的部份 如果我想要回傳有小數點的size(),那應該怎麼處理比較好呢? 謝謝幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.100.113

10/15 12:22, , 1F
寫成 cout<< 1.0 / vector1.size(); 就可以得到小數了
10/15 12:22, 1F

10/15 12:22, , 2F
或者 cout<< 1 / (double)vector1.size(); 這樣也行
10/15 12:22, 2F

10/15 12:23, , 3F
太感謝了,謝謝您,我想破了頭...感謝
10/15 12:23, 3F

10/15 12:25, , 4F
我比較想知道為什麼你需要小數點...
10/15 12:25, 4F

10/15 12:25, , 5F
就算是做一些統計運算也不該有問題才對...
10/15 12:25, 5F

10/15 13:24, , 6F
size() 回傳非整數從各種方面都非常奇怪吧XD
10/15 13:24, 6F

10/15 13:55, , 7F
我是要去模擬單核CPU執行多個request
10/15 13:55, 7F

10/15 13:56, , 8F
然後平均每個request可以分配到多少cpu
10/15 13:56, 8F

10/15 13:57, , 9F
這樣子而已@@.可能是我的方法太笨了..但我只是直覺而已.
10/15 13:57, 9F

10/15 20:45, , 10F
size()是元素的個數,如果有小數不會很奇怪嗎
10/15 20:45, 10F

10/15 20:45, , 11F
其實你要怎樣是無妨,但是你要怎樣定義size是非整數的情形@@
10/15 20:45, 11F

10/15 20:50, , 12F
什麼意思呢?
10/15 20:50, 12F

10/15 20:50, , 13F
我是把得到的size(),再丟到vector<double>裡面@@
10/15 20:50, 13F

10/15 20:53, , 14F
就變成說,我得到的小數點size(),只是我的一個數字而已
10/15 20:53, 14F

10/15 20:53, , 15F
然後那個vector<double>就用來記錄分配到的時間..
10/15 20:53, 15F

10/15 20:53, , 16F
可能笨笨的...可是太複雜的我大概也想不到...
10/15 20:53, 16F

10/15 20:56, , 17F
喔...那其實還好,只是你描述的問題
10/15 20:56, 17F

10/15 21:35, , 18F
vector<double>可以存整數啊, 應該說double本就可以存整數
10/15 21:35, 18F

10/15 23:35, , 19F
太深奧了。
10/15 23:35, 19F

10/16 00:00, , 20F
有另一個原因是我需要很多vector@@
10/16 00:00, 20F

10/16 00:01, , 21F
不過沒有用double來存整數確實是我沒想到= =|||
10/16 00:01, 21F
文章代碼(AID): #1EcGe6aV (C_and_CPP)
文章代碼(AID): #1EcGe6aV (C_and_CPP)