如 我有class A{ private: int number[1000]};還是 class A{ private: int* number}然後在具體的初始化時在動態空間。由於我們在確立對象時,會根據動態去創建。A *test;test=new A;這個樣子 ,上述兩種做法的卻別大嗎?我估計二種做法都是動態內存的,只是第一種會導致類所有變量會連續,而第二種可能分散(因為他有二次申請內存的過程),是這樣嗎,各位大牛!
兩種方式沒什麼區別。只不過第二種內存利用效率更好一些。
第一種,會直接分配int number[1000]。占用內存很大,如果不是立馬要使用此數組,則純屬浪費內存。
第二種,只是分配了一個指向整型變量的指針所占用的內存空間。
兩種方式中,對象的內存都是一次性分配的。只不過,int* number中存的地址指向其他地方,就相當於給成員變量重新賦值。
以上是我個人的看法。