程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-關於C++將類時,類中的數組需不需要用指針建立的問題

c++-關於C++將類時,類中的數組需不需要用指針建立的問題

編輯:編程綜合問答
關於C++將類時,類中的數組需不需要用指針建立的問題

如 我有class A{ private: int number[1000]};還是 class A{ private: int* number}然後在具體的初始化時在動態空間。由於我們在確立對象時,會根據動態去創建。A *test;test=new A;這個樣子 ,上述兩種做法的卻別大嗎?我估計二種做法都是動態內存的,只是第一種會導致類所有變量會連續,而第二種可能分散(因為他有二次申請內存的過程),是這樣嗎,各位大牛!

最佳回答:


兩種方式沒什麼區別。只不過第二種內存利用效率更好一些。
第一種,會直接分配int number[1000]。占用內存很大,如果不是立馬要使用此數組,則純屬浪費內存。
第二種,只是分配了一個指向整型變量的指針所占用的內存空間。
兩種方式中,對象的內存都是一次性分配的。只不過,int* number中存的地址指向其他地方,就相當於給成員變量重新賦值。
以上是我個人的看法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved