作者luckychild (兌現承諾)
看板C_and_CPP
標題[問題] 陣列與vecto使用(記憶體)差異?
時間Tue Apr 14 16:03:43 2009
不明白有關陣列及vector之間的差異
請看程式碼
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
void test(vector<double> &);
int main()
{
vector<double> *a;
a= new vector<double> (5);
/* for(int i=0;i<a.size();i++)
{
a[i]=i;
cout<< a[i] << "" ;
} */ 以上槓掉的部分行不通,
不能由陣列的做法類比
test(*a); 這樣就ok了,沒有更直截了當的做
法嗎?
delete a;
system("pause");
return 0;
}
void test(vector<double> &a)
{
for(int i=0;i<a.size();i++)
{
a[i]=i;
cout<< a[i] << "" ;
}
}
陣列與vector的差異沒搞清楚才會這樣.
請幫我釐清觀念吧. 謝謝囉!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.11.75
1F:推 Ebergies:vector<double> a(5); 試試 04/14 16:14
3F:→ chrisdar:(*a)[i] = i; cout << (*a)[i] << "" ; 04/14 16:25
4F:→ luckychild:謝謝啦 為什麼這樣就可以勒? 04/14 16:58
5F:→ adrianshum:基本的 pointer 和deref 觀念. 先打好根基吧... 04/14 17:04
6F:→ adrianshum:感覺是寫 Java/C# 的人?... 04/14 17:05
7F:推 chrisdar:a->operator [](i) 轉 (*a).operator [](i) 轉 (*a)[i] 04/14 17:06
8F:→ luckychild:我只學一點c++ 入門等級的程度 也許有空再翻翻其它 04/14 17:09
9F:→ luckychild:較為經典的書 或許觀念會在清晰一些吧 04/14 17:10