日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

金山WPS面经 c++开发工程师

發(fā)布時間:2023/12/20 c/c++ 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 金山WPS面经 c++开发工程师 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 虛函數(shù)的底層實現(xiàn):虛函數(shù)表和虛函數(shù)指針
  • 構(gòu)造函數(shù)和析構(gòu)函數(shù)能不能調(diào)用虛函數(shù)
不能https://blog.csdn.net/u012611878/article/details/78956329
  • 四種強制類型轉(zhuǎn)換
    四種強制類型轉(zhuǎn)換
static_cast主要用于“低風(fēng)險”的類型轉(zhuǎn)換,如整數(shù)、浮點數(shù)和字符類型的轉(zhuǎn)換reinterpret_cast各種不同類型的指針之間、不同類型的引用之間以及指針和能容 納指針的整數(shù)之間的轉(zhuǎn)換; 卻不保證安全性const_cast運算符主要是為了去除const屬性dynamic_cast專門用于將多態(tài)基類類型的指針強制轉(zhuǎn)換為派生類類型的指針,而且 能夠檢查轉(zhuǎn)換的安全性,對于不安全的轉(zhuǎn)換,返回一個nullptr
  • c++11為什么要新增四種強制類型轉(zhuǎn)換?
強制類型轉(zhuǎn)換具有一定風(fēng)險,如:把整型轉(zhuǎn)換為指針類型、將基類 指針轉(zhuǎn)換為派生類指針、將一種函數(shù)指針轉(zhuǎn)換為另一種函數(shù)指針, 將常量指針轉(zhuǎn)換為非常量指針等。C++新引用四種強制類型轉(zhuǎn)換主要是為了**規(guī)避這種風(fēng)險**:a.int轉(zhuǎn)換為double是沒有風(fēng)險的,而將常量指針轉(zhuǎn)換為非常量指針,將int轉(zhuǎn)換為指針類型都是高風(fēng)險的,C中并未對這兩種情況作區(qū)分b. 將多態(tài)的基類指針轉(zhuǎn)換為派生類指針時并不檢查安全性,無法判斷轉(zhuǎn)換后的指針是否指向一個派生類對象c. 如果強制類型轉(zhuǎn)換出錯,很難排查出錯誤
  • 什么時候會用拷貝構(gòu)造,什么時候用賦值構(gòu)造
在C++中,下面三種對象需要調(diào)用拷貝構(gòu)造函數(shù)(有時也稱“復(fù)制構(gòu)造函數(shù)”):1) 一個對象作為函數(shù)參數(shù),以值傳遞的方式傳入函數(shù)體;2) 一個對象作為函數(shù)返回值,以值傳遞的方式從函數(shù)返回;3) 一個對象用于給另外一個對象進(jìn)行初始化(常稱為復(fù)制初始化);String a("hello"); String b("world"); String c = a; // 調(diào)用了拷貝構(gòu)造函數(shù),最好寫成 c(a); c = b; // 調(diào)用了賦值構(gòu)造函數(shù)
  • 移動構(gòu)造
**https://blog.csdn.net/zyq11223/article/details/48766515有時候我們會遇到這樣一種情況,我們用對象a初始化對象b,后對象a我們就不在使用了,但是對象a的空間還在呀(在析構(gòu)之前),既然拷貝構(gòu)造函數(shù),實際上就是把a對象的內(nèi)容復(fù)制一份到b中,那么為什么我們不能直接使用a的空間呢?這樣就避免了新的空間的分配,大大降低了構(gòu)造的成本。這就是移動構(gòu)造函數(shù)設(shè)計的初衷。下面這個圖,很好地說明了拷貝構(gòu)造函數(shù)和移動構(gòu)造函數(shù)的區(qū)別。移動構(gòu)造是一份;拷貝構(gòu)造是兩份;** IntNum(IntNum && n):xptr(n.xptr){//移動構(gòu)造函數(shù)n.xptr = nullptr; //原來指針null后,便可以淺層復(fù)制cout<<"Calling move constructor..."<<endl; }

總結(jié)

以上是生活随笔為你收集整理的金山WPS面经 c++开发工程师的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。