1樓:
1.**如下:#include
#include
using namespace std;
class foo
~foo()
private:
int id_;
};int main()
;// 第一種方法;}
cout << "-----------------" << endl;
// 第二種方法
// ...use b
for( size_t i=0; i<2; ++i )
}cout << "-----------------" << endl;
// 這估計就是你要的了,和第二種方法一樣
// ...use b
for( size_t i=0; i<2; ++i )
operator delete( p );
}return 0;
} 2.c++ new用法之一 new運算子
最常用的是作為運算子的new,比如:
string *str = new string(「test new」);
作為運算子,new和sizeof一樣,是c++內建的,你不能對它做任何的改變,除了使用它。
new會在堆上分配一塊記憶體,並會自動呼叫類的建構函式。
c++ new用法之二 new函式
第二種就是new函式,其實new運算子內部分配記憶體使用的就是new函式,原型是:
void *operator new(size_t size);
new函式返回的是一個void指標,一塊未經初始化的記憶體。如你所見,這和c語言的malloc行為相似,你可以過載new函式,並且增加額外的引數,但是必須保證第一個引數必須是size_t型別,它指明瞭分配記憶體塊的大小,c++允許你這麼做,當然一般情況下這是不必要的。如果過載了new函式,在使用new操作符時呼叫的就是你過載後的new函式了。
2樓:新都乖乖豬
c++不支援直接構造 建構函式帶引數的陣列,也就是說如果你想要建立一個陣列,必須要保證建立型別有預設的建構函式。
3樓:匿名使用者
#include
using namespace std;
class a
void print()
private:
int i;
};int main()
C怎麼用建構函式來傳值,c 如何用建構函式來傳遞引數
public form1 string value c 如何用建構函式來傳遞引數 例如你的主窗體中有一個按鈕,在他的單擊事件裡寫入 f3 f new f3 this.textbox1.text f.show this.hide 在f3的窗體 中寫入 private string texts publ...
c 中的拷貝建構函式的問題,c 拷貝建構函式的問題
拷貝建構函式多被用來實現類物件的深拷貝。例如 class a 不定義拷貝建構函式時,你如果對兩個物件賦值,就會是淺拷貝,即 簡單的成員變數相等。a a,b a b 則,相當於作了a.p b.p,a,b的p指標指向了同一個地址,但是資料並沒有拷貝一份,這叫做淺拷貝。所以定義拷貝建構函式 a a a 然...
c如何在建構函式中啟動執行緒,從命名管道讀取資料
1 c 多執行緒也可以使用unix c的庫函式,pthread mutex t,pthread create,pthread cond t,pthread detach,pthread mutex lock unlock,等等。在使用多執行緒的時候,你需要先建立執行緒,使用pthread creat...