C 在類中定義vector並初始大小的問題

時間 2021-10-14 20:16:11

1樓:匿名使用者

1、陣列大小固定,速度較快,通用格式是:資料型別   陣列名[ 陣列大小 ]。

2、vector 是stl中的容器類,包含多種通用演算法,長度可變,使用靈活,但效率稍低,vector是使用 new 和 delete 來管理記憶體的。

3、array 陣列模板 ,在c++11中才支援,通用格式:array《型別名, 元素個數》  陣列名。

4、valarray 面向數值計算的陣列,在c++11中才支援,支援很多數值陣列操作,如求陣列總和、最大數、最小數等。

5、new 建立動態陣列,動態分配記憶體,不浪費記憶體資源,要注意的是,有new,就應該有delete,不然會導致記憶體洩漏。

2樓:匿名使用者

你可以在錯誤列表裡選擇這個錯誤,然後按f1鍵即可在msdn網上查詢。關鍵是,你還沒有定義成員,而你這個vector宣告是屬於類的物件的,你這樣等於在沒有成員的情況下給這個容器分配了起源,你可以在建構函式裡這樣初始化它:

base():a(10)

使用了初始化列表。如果你想讓這個容器屬於類,你可以在類裡把它宣告為靜態的,但是定義一定要在類外:

vectorbase::a(10);

當然,也對,vector是動態陣列,所以你不用擔心關於制定大小這些問題。

3樓:匿名使用者

在建構函式中對a初始化就成

class base

private:};

4樓:匿名使用者

在成員變數的定義裡面是不能對成員進行初始化的。

應該寫成vectora;就可以了。

事實上,不需要設定其大小,因為vector本來就是動態陣列,您可以使用使用push_back等函式直接往a中新增元素,使用a.size()檢視大小。

滿意請採納,有問題歡迎追問!

c++中vector容器改變後如何知道初始大小?

5樓:歡樂多

i不是0嗎?還有什麼初始量?難道是cardsnum1?

這個是分配場給vector分配的空間,初始值貌似是32,也就是一開始給它分配32個資料長度,但是這些資料長度只要不分配數值的話是不會顯示在長度裡面的。

6樓:育知同創教育

c++中vector容器的大小確定方法:

1、vector v;此時沒有初始化,所以size()和capacity()都是0;

cout<

2、v.push_back(1);

cout<

3、v.push_back(1);

cout<

v.push_back(1);

cout<

v.push_back(1);

cout<

v.push_back(1);

cout<

7樓:匿名使用者

作為使用者你不需要知道vector給你保留了多少.不同平台的實現況且不一樣.

如果你需要提高效率.避免反覆多次的realloc , 你可以使用 reserve 方法來指定預留多少空間.

8樓:

cardsnum1.size();

C 中類怎樣定義,使用,C 中如果要用的類定義在使用之後,該怎樣宣告?

類的定義格式一般地分為說明部分和實現部分。說明部分是用來說明該類中的成員,包含資料成員的說明和成員函式的說明。成員函式是用來對資料成員進行操作的,又稱為 方法 實現部分是用來對成員函式的定義。概括說來,說明部分將告訴使用者 幹什麼 而實現部分是告訴使用者 怎麼幹 類的一般定義格式如下 class 類...

c中怎麼定義類,c 中怎麼定義一個類

using system public class desk 基類desk 設定desk的資訊 public void setinfo int len,int wid,int hei 列印desk的引數資訊 public void showinfo t width t height length,w...

C 中類之間的依賴關係,C 中類的定義可以巢狀嗎

關係1 沒有關係 兩個物件之間如果沒有關係,那麼它們是孤立的。關係2 關聯關係 association a和b之間是關聯關係 c與自己關聯 關係3 有方向的關聯關係 directedassociation 關聯還可以有方向性的。如下圖 這種關係是關聯關係的一種。關係4 聚合關係 aggregate ...