亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++程序員面試中常被問到的問題(持續更新)

2019-11-06 06:09:42
字體:
來源:轉載
供稿:網友

C/C++程序占用的內存

棧區— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似于數據結構中的棧。堆區 — 一般由程序員分配釋放, 若程序員不釋放,例如malloc、free,程序結束時可能由OS回收 。注意它與數據結構中的堆是兩回事,分配方式倒是類似于鏈表。全局區(靜態區)(static)—,全局變量和靜態變量的存儲是放在一塊的,初始化的全局變量和靜態變量在一塊區域, 未初始化的全局變量和未初始化的靜態變量在相鄰的另一塊區域,程序結束后有系統釋放文字常量區 —常量字符串就是放在這里的。 程序結束后由系統釋放。 程序代碼區—存放函數體的二進制代碼。

指針和引用的區別

指針是地址,引用是別名可以有const指針,但是沒有const引用; 指針可以有多級 指針的值可以為空,但是引用的值不能為NULL,并且引用在定義的時候必須初始化; 指針的值在初始化后可以改變,即指向其它的存儲單元,而引用在進行初始化后就不會再改變了?!皊izeof(&ref)”得到的是所指向的變量(對象)的大小,而”sizeof(*ptr)”得到的是指針本身的大小;

空類的大小及默認的方法

一個空類默認大小為1,如果有虛函數,因為虛函數表與指針的存在,所以在32位機器上,一個類的大小為4。

class EmptyCppClass{ public: EmptyCppClass(); // 缺省構造函數 EmptyCppClass( const EmptyCppClass& ); // 拷貝構造函數 ~EmptyCppClass(); // 析構函數 EmptyCppClass& Operator=( const EmptyCppClass& ); // 賦值運算符 EmptyCppClass* operator&(); // 取址運算符 const EmptyCppClass* operator&() const; // 取址運算符 const};

4. 宏與內聯函數的區別

內聯函數在運行時可調試,而宏定義不可以;編譯器會對內聯函數的參數類型做安全檢查或自動類型轉換(同普通函數),而宏定義則不會;內聯函數可以訪問類的成員變量,宏定義則不能;在類中聲明同時定義的成員函數,自動轉化為內聯函數。

內聯函數的優缺點

優點:提升運行效率,缺點:使二進制文件變得很大。

內聯函數是否能為虛函數

不可以: - 虛函數肯定不會被內聯這一點毋庸置疑,因為虛函數只有到了runtime才能被識別到底是哪一個被調用,而內聯是編譯器就會將代碼展開并安插,這個明顯不是一回事。 - inline有兩種表現方式,一種就是一inline在實現文件中(.cpp)指出,這個被稱為顯示內聯,另外一種將函數聲明和定義放入同一個文件,這種稱為隱式內聯,但是還是如前面所說,inline只是一個提示符,至于會不會內聯還是由編譯器說了算。

虛函數與純虛函數的區別

虛函數一個Virtual就夠了,但是純虛函數還得=0做標識,另外,純虛函數在子類中必須實現,虛函數沒這個說法。

C++中的explicit關鍵字

C++四種轉換類型,與傳統轉換比較的優缺點

static_cast 最常用的類型轉換符,在正常狀況下的類型轉換,如把int轉換為float,如:int i;float f; f=(float)i;或者f=static_cast<float>(i);const_cast 用于取出const屬性,把const類型的指針變為非const類型的指針,如:const int *fun(int x,int y){}  int *ptr=const_cast<int *>(fun(2.3))dynamic_cast 該操作符用于運行時檢查該轉換是否類型安全,但只在多態類型時合法,即該類至少具有一個虛擬方法。dynamic_cast與static_cast具有相同的基本語法,dynamic_cast主要用于類層次間的上行轉換和下行轉換,還可以用于類之間的交叉轉換。在類層次間進行上行轉換時,dynamic_cast和static_cast的效果是一樣的;在進行下行轉換時,dynamic_cast具有類型檢查的功能,比static_cast更安全。reinterPRet_cast interpret是解釋的意思,reinterpret即為重新解釋,此標識符的意思即為數據的二進制形式重新解釋,但是不改變其值。如:int i; char *ptr="hello freind!"; i=reinterpret_cast<int>(ptr);這個轉換方式很少使用。

函數指針與指針函數

指針函數 先看下面的函數聲明,注意,此函數有返回值,返回值為int *,即返回值是指針類型的。int *f(int a, int b); 函數指針 函數指針說的就是一個指針,但這個指針指向的函數,不是普通的基本數據類型或者類對象。函數指針的定義如下:int (*f)(int a, int b); // 聲明函數指針

什么是復制構造函數(深拷貝與淺拷貝)

const int p與int const p和const int const *p區別

const int *p; // const修飾的是*p,因此*p是常量不能改變,但可以改變p的指向;int const* p;// 同上,主要是看const與*的前后關系;int* const p; // const修飾的是p,因此p的指向是常量不能改變,但*p可以改變;const int const *p; // 兩個const既修飾了*p也修飾了p,因此*p與p都是常量不能改變;

C++ 11種的新特征

繼承類中的虛函數

malloc, new, free, delete的區別

malloc, free是操作符,只能對內置類型進行分配,new,delete是函數,可以對自定義類型進行內存分配,new的調用會調用構造函數,malloc則沒有。

類與結構體的區別

類成員默認為private,struct默認為public;

C++類能有它自身類型的對象嗎?

C++類可以有自身類型的對象,但是不是簡單的直接定義對象,它可以定義靜態的自身類型對象或者是自身類型的指針。

析構函數是否可以為虛函數,默認的呢?

析構函數可以為虛函數,而且應該標為虛函數,這是為了防止析構函數在析構父類的時候沒有析構子類,這樣會造成內存泄漏。而默認的析構函數不是虛函數。

構造函數是否可以為虛函數?

構造函數絕對不能為虛函數,因為構造函數的調用必須要確定構造出的類,這個是在編譯器決定的,虛函數是在運行時決定的,所以不可以。

寫一個不可繼承的類

參考這里:http://zhedahht.blog.163.com/blog/static/25411174200793181548842/

拷貝構造函數可以私有嗎?

當然可以私有,只不過private以后就不能再進行拷貝了。

為什么拷貝構造函數的參數是引用?

這是為了防止循環調用構造函數,造成死循環。

啥時候需要重寫默認的復制構造函數?

一般來說不需要重寫復制構造函數,除非默認的復制構造函數提供的淺拷貝不能滿足需求了才重寫。

啥時候調用復制構造函數?

類數據成員的初始化

類數據成員的初始化只要記住初始化順序跟定義順序是一致的就可以了。

析構函數可以私有嗎?

可以是可以,但是得需要重寫一個類似于析構函數的函數,只有這樣才能正常地釋放對象。

為什么復制構造函數參數是const

這個已經涉及到了C++03的標準,它規定賦值的左值是const,所以右值也應該是const。

靜態對象何時被銷毀?

因為靜態周期生命周期要比其他對象要長,所以靜態對象一定是在函數結束的最后被銷毀的。

虛函數可以是靜態的嗎?

不可以,虛函數必須有對象操作,靜態的話就跟對象沒關系了,就這一點就矛盾了,所以虛函數不能為static。

迭代器循環中++iter與iter++有什么區別?


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久网站| 日韩av日韩在线观看| 91天堂在线观看| 久久人人爽人人爽人人片av高清| 国产精品美腿一区在线看| 美日韩精品免费视频| www国产91| 一区二区三区黄色| 久久综合伊人77777蜜臀| 欧美不卡视频一区发布| 在线性视频日韩欧美| 久久亚洲精品小早川怜子66| 精品亚洲国产视频| 亚洲欧洲在线看| 永久免费精品影视网站| 中文字幕在线观看亚洲| 国产精品美乳一区二区免费| 亚洲加勒比久久88色综合| 亚洲成年人在线| 国产精品丝袜久久久久久高清| 中文字幕亚洲无线码a| 免费99精品国产自在在线| 国产mv免费观看入口亚洲| 欧美性猛xxx| 国产suv精品一区二区三区88区| 亚洲精品视频播放| 尤物yw午夜国产精品视频明星| 亚洲自拍小视频| 亚洲欧美三级伦理| 国产69精品99久久久久久宅男| 久久精品一本久久99精品| 色偷偷88888欧美精品久久久| 久久免费视频网站| 中文字幕在线亚洲| 国产精品成人播放| 啊v视频在线一区二区三区| 美女性感视频久久久| 亚洲免费人成在线视频观看| 亚洲国产中文字幕久久网| 欧美特级www| 国产精品午夜一区二区欲梦| 色樱桃影院亚洲精品影院| 韩日欧美一区二区| 亚洲一区二区在线| 在线看福利67194| 久久久久久伊人| 欧美一级淫片播放口| 精品精品国产国产自在线| 久久久噜噜噜久久中文字免| 欧美高清理论片| 国产免费久久av| 色综合久久88色综合天天看泰| 精品国产精品三级精品av网址| 欧美激情videoshd| 国产成人精品国内自产拍免费看| 欧美激情视频免费观看| 亚洲视频777| 欧美精品videossex性护士| 亚洲国产欧美一区二区丝袜黑人| 国产精品亚洲一区二区三区| 亚洲人在线视频| 国语自产精品视频在线看抢先版图片| 亚洲精品国产拍免费91在线| 欧美午夜精品久久久久久浪潮| 欧美激情久久久久| 亚洲在线第一页| 久久手机精品视频| 久久亚洲精品中文字幕冲田杏梨| 成人精品视频久久久久| 中文字幕亚洲情99在线| 亚洲成av人乱码色午夜| 亚洲肉体裸体xxxx137| 久久久精品亚洲| 日韩中文娱乐网| 国产91色在线播放| 久久91精品国产91久久久| 欧美性感美女h网站在线观看免费| 亚洲性69xxxbbb| 91精品综合久久久久久五月天| 日韩欧美a级成人黄色| 91精品国产精品| 亚洲欧美三级伦理| 国产美女精品视频免费观看| 91色琪琪电影亚洲精品久久| 国产精品国语对白| 欧美激情精品久久久久久黑人| 久久99久久久久久久噜噜| 91视频8mav| 欧美特级www| 欧美黑人性视频| 久久精品国产2020观看福利| 国产精品96久久久久久| 按摩亚洲人久久| 亚洲视频一区二区| 欧美中文在线观看国产| 亚洲a∨日韩av高清在线观看| 欧美日韩福利视频| 中文字幕久久亚洲| 在线播放精品一区二区三区| 国产精品电影网| 亚洲色图美腿丝袜| 国产91精品高潮白浆喷水| 亚洲欧洲国产精品| 亚洲精品乱码久久久久久按摩观| 中文字幕欧美在线| 欧美激情视频网| 欧美日韩人人澡狠狠躁视频| 日韩成人小视频| 亚洲成人网在线观看| 国产精品久久久久久久久久久久| 中文字幕日韩欧美在线视频| 国产经典一区二区| 中文字幕一区二区三区电影| 亚洲精品美女在线观看| 7777精品视频| 日韩欧美在线观看视频| 日韩精品在线免费观看| 日韩免费在线看| 性色av一区二区三区红粉影视| 国产精品v片在线观看不卡| 国产一区二区三区中文| 色久欧美在线视频观看| 久久影院资源站| 欧美激情国产高清| 日韩av一区二区在线观看| 日韩小视频在线观看| 国产日韩av在线| 日本精品中文字幕| 国产69久久精品成人| 欧美洲成人男女午夜视频| 中文字幕在线国产精品| 欧美午夜影院在线视频| 日韩av在线不卡| 久久视频这里只有精品| 日韩高清欧美高清| 亚洲片av在线| 在线日韩中文字幕| 久久久天堂国产精品女人| 亚洲国产成人精品电影| 亚洲第一av网| 57pao成人国产永久免费| 久久久久中文字幕| 欧美激情一区二区三区在线视频观看| 欧美国产日韩免费| 全色精品综合影院| 国产91成人在在线播放| 国产成人综合av| 亚洲国产天堂网精品网站| 国产91在线播放九色快色| 亚洲免费av片| 精品成人乱色一区二区| 亚洲男女性事视频| 中文字幕亚洲欧美一区二区三区| 亚洲精品wwwww| 亚洲美腿欧美激情另类| 蜜臀久久99精品久久久久久宅男| 日韩美女主播视频| 97视频免费观看| 日韩精品黄色网| 狠狠综合久久av一区二区小说| 精品人伦一区二区三区蜜桃网站| 中日韩午夜理伦电影免费| 永久免费毛片在线播放不卡| 日韩欧美成人网|