中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++的main函數執行前后會發生什么

發布時間:2021-11-29 15:25:07 來源:億速云 閱讀:192 作者:iii 欄目:大數據

這篇文章主要介紹“C++的main函數執行前后會發生什么”,在日常操作中,相信很多人在C++的main函數執行前后會發生什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++的main函數執行前后會發生什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

問題描述

C/C++語言執行過程中是不是所有的動作都由main()函數引起,來看下面的代碼:

#include <iostream>class A{public:
    A() {printf("This is Constructor\n");
    }

    ~A() {printf("This is destructor\n");
    }
};

A a;int main() {printf("This is main\n");
}

這段代碼很簡單,但是最終是不是只是打印了This is main這句話,顯然不是,實際的結果是按照下面順序的三句話:

This is ConstructorThis is mainThis is destructor

問題分析

首先main()函數只不過是提供了一個函數入口,在main()函數中的顯示代碼執行之前,會由編譯器生成_main函數,其中會進行所有全局對象的構造以及初始化工作。簡單來說對靜態變量、全局變量和全局對象來說的分配是早在main()函數之前就完成的,所以C/C++中并非所有的動作都是由于main()函數引起的。
同理在main()函數執行后,程序退出,這時候會對全局變量和全局對象進行銷毀操作,所以在main()函數還會執行相應的代碼。
在上面的例子中,a的構造函數會先執行,再執行main,最后會調用a的析構函數。

到此,關于“C++的main函數執行前后會發生什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建宁县| 仲巴县| 肃宁县| 贵港市| 都匀市| 勐海县| 阿城市| 开原市| 兴安县| 台东县| 乐昌市| 临城县| 唐河县| 南溪县| 漾濞| 安国市| 饶平县| 文山县| 隆子县| 承德市| 家居| 庆阳市| 姚安县| 宣汉县| 商丘市| 宜章县| 大悟县| 固始县| 原平市| 桃园县| 确山县| 大安市| 巢湖市| 唐海县| 广水市| 昌平区| 巨野县| 拉孜县| 松江区| 扎囊县| 古交市|