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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C/C++ 面试题基础知识

發布時間:2025/3/20 c/c++ 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C/C++ 面试题基础知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C/C++ 中struct的區別

C中的struct是沒有權限設置的。?
C++中struct增加了訪問權限,且可以和類一樣有成員函數。?
C++中的struct等同于class,只是class默認成員權限是private,而struct默認成員權限是public。且class的默認繼承為私有繼承,struct的默認繼承為公有繼承。

C++中引用和指針有什么不同?指針加上什么限制等于引用?

引用不是一個變量,它只表示該引用名是目標變量名的一個別名,它本身不是一種數據類型,因此引用本身不占存儲單元,系統也不給引用分配存儲單元。引用一經確定就不能修改。
指針是一個變量,需要在內存中分配空間,此空間中存儲所指對象的地址。由于指針是一個普通變量,所以其值還可以通過重新賦值來改變。
把指針定義為const后,其值就不能改變了,功能和引用類似,但有本質的區別。

繼承與多態

?覆蓋(override)是指子類重新定義父類的虛函數的做法。

?重載(overload)是指允許存在多個同名函數,而這些函數的參數表不同。他們的地址在編譯期就綁定了(早綁定),重載與多態無關。

?繼承的作用是代碼重用。多態為了實現接口重用

虛函數

?一個類存在虛函數,那么編譯器就會為這個類生成一個虛表,在虛表里存放的是這個類所有虛函數的地址。

當生成類對象的時候,編譯器會自動的將類對象的前四個字節設置為虛表的地址,而這四個字節就可以看作是一個指向虛表的指針。

虛表里依次存放的是虛函數的地址,每個虛函數的地址占4個字節。

?

struct 的大小

struct A
{
A(){}
~A(){}
int m1;
int m2;
};
struct B
{
B(){}
~B(){}
int m1;
char m2;
static int m3;
};
struct C
{
C(){}
virtual ~C(){}
int m1;
short m2;
};

8 8 12

?

?

轉載于:https://www.cnblogs.com/xubin0523/archive/2012/05/09/2491960.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的C/C++ 面试题基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。