區域性物件與全域性物件的構造和析構

2021-10-14 08:00:33 字數 820 閱讀 4272

例程除錯,很多細節問題。可以單步除錯後,切入到反彙編進行觀察。

#include

"pch.h"

#include

#include

#include

#include

using

namespace std;

namespace _nmsp1 //命名空間~a

()int m_i;};

void

func()

*///.......

//....

a obja;

//現用現定義 ,對於區域性物件,裡邊的m_i是隨機值;

obja.m_i =10;

int mytest =1;

if(mytest ==0)

//swtich case return;

int b =0;

b =10;

return;}

}namespace _nmsp2

//....

//e)呼叫全域性物件g_aobj所對應類a的析構函式

classa~

a()int m_i;};

a g_aobj;

//全域性物件,該全域性物件在main函式執行之前就被構造完畢,可以在main函式中直接使用了

//在main函式執行完畢後,才被析構掉的

void

func()

}//main函式開始之前要幹很多事,比如全域性物件的構建等等。

intmain()

//main函式結束之後要幹很多事,比如析構函式的執行

C 全域性物件構造和析構

注 此為小白引導教程 引入 c 中的全域性物件什麼時候執行建構函式?什麼時候執行析構函式?與區域性物件又有什麼區別?正文 思路是這樣的,我們先寫乙個類,乙個有點簡單 又不簡單 的類 include include using std string using std cout using std e...

全域性物件和全域性靜態 區域性靜態析構順序

多久不用c 好多東西都模糊了,最近跟人討論全域性和靜態的析構順序,之前總覺得這個根據編譯器來決定的,其實還是有一定的說法的。記錄一下 class a destructor delete a class b destructor 區域性變數 class d destructor 區域性靜態變數 cla...

物件的構造與析構

建立乙個物件時,常常需要作某些初始化的工作,例如對資料成員賦初值。注意,類的資料成員是不能在宣告類時初始化的。原因 類相當於乙個模板,是一種新資料型別,而非變數,當程式宣告乙個類,未申 請儲存空間,只有當這個類定義物件時才申請空間為了解決這個問題,c 編譯器提供了建構函式 constructor 來...