vector容器中存放結構體型別的變數

2021-07-31 13:19:08 字數 1503 閱讀 8723

如果要在vector容器中存放結構體型別的變數,經常見到兩種存放方式.

方式一:放入這個結構體型別變數的副本。

方式二:放入指向這個結構體型別變數的指標。

假設結構體型別變數是這樣的,

[cpp]view plain

copy

print?

typedef

struct student studentinfo;  

typedef struct student studentinfo;
那麼,方式一和方式二的實現分別如下所示:

[cpp]view plain

copy

print?

/*[方式一] 結構體放棧中,vector中放副本———————*/

#include 

#include 

#include 

typedef

struct student studentinfo;  

typedefstd::vectorstudentinfovec;  

void print(studentinfovec* stduentinfovec)  

return;  

}  int main();  

studentinfo cherry=;  

studentinfovec studentinfovec;  

studentinfovec.push_back(micheal);  

studentinfovec.push_back(cherry);  

print(&studentinfovec);  

return 0;  

}  

/*[方式一] 結構體放棧中,vector中放副本---------------------*/
#include #include #include typedef struct student studentinfo; typedefstd::vectorstudentinfovec; void print(studentinfovec* stduentinfovec) studentinfo;  

typedefstd::vectorstudentinfoptrvec;  

void print(studentinfoptrvec*stduentinfoptrvec)  

return;  

}  int main()  

/*[方式二]  結構體放入堆中,vector中放指標---------------------*/

typedef struct student studentinfo;

typedefstd::vectorstudentinfoptrvec;

void print(studentinfoptrvec*stduentinfoptrvec)

方式二的輸出結果,同上,依然是

Vector容器中存放結構體型別的變數

如果要在vector容器中存放結構體型別的變數,經常見到兩種存放方式.方式一 放入這個結構體型別變數的副本。方式二 放入指向這個結構體型別變數的指標。假設結構體型別變數是這樣的,cpp view plain copy print?typedef struct student studentinfo ...

結構體容器vector

最近在做處理資料的問題,本來想建立乙個結構體,裡面存放兩個陣列,在乙個main函式裡進行了設計,也能成功執行,但是寫成函式呼叫的形式就會出錯,並且這種寫法必須設定陣列的大小。include include using namespace std int main stu for int i 0 i ...

vector 中存放陣列

vector array 3 注意 和 之間的空格。array2可以儲存3個向量,向量的長度是可以改變的。array2 i 返回的是第i個向量。同理,array2 i j 返回的是第i個向量中的第j個元素。注意不能這樣賦值 array2 1 2 9 原因就是你沒有指定向量的大小。用push back...