1、C++招聘笔试--C++中的C
文章目錄
- 面試1 C++和C的區(qū)別?
- 面試2 const在C和C++的區(qū)別
- 面試3 volatile關(guān)鍵字的含義和作用以及應(yīng)用場景
面試1 C++和C的區(qū)別?
C只是C++的一個子集,C++在C的基礎(chǔ)上增加了類和模板類型,一方面強化了C的過程化處理,引入了重載、異常處理等,另一方面更是擴展了面向?qū)ο笤O(shè)計的內(nèi)容,如類、友元、繼承、虛函數(shù)和模板等。
從變成的角度上,C是一種結(jié)構(gòu)化編程語言,而C++是面向?qū)ο蟮木幊陶Z言,C++程序設(shè)計首要考慮的是如何構(gòu)造一個對象模型。之所以說C++比C更加先進,是因為“設(shè)計這個概念已經(jīng)被融入到了C++之中”。
面試2 const在C和C++的區(qū)別
const在C和C++中略有不同,在C中,C編譯器不把const常量看成一個編譯期間的常量,為其分配內(nèi)存空間。
const int n=10;int a[n];//編譯時候不能確定n的值,將其看成0;C編譯:“connot allocate an arry of constant size 0”
//在C++之中上述程序沒有錯誤,說明C++編譯器在編譯時候知道const常量的值。
面試3 volatile關(guān)鍵字的含義和作用以及應(yīng)用場景
volatile關(guān)鍵字的含義是“易變的”,它高速編譯器volatile變量是隨時可能發(fā)生變化的,并且高速編譯器與volatile有關(guān)的運算不要進行編譯優(yōu)化。這樣每一次都會對其取值,不會被優(yōu)化。
用volatile關(guān)鍵字修飾的變量確保編譯器不對其代碼進行優(yōu)化,且要求每次直接從內(nèi)存中讀值。
一個定義為volatile的變量是說這個變量可能會有意想不到的改變,在用到這個變量時候必須每次都小心重新地從內(nèi)存中讀取這個變量的值,而不是使用保存在cache或者寄存器里的備份,使用volatile變量的幾個實例:
1、并行設(shè)備的硬件寄存器(如狀態(tài)寄存器)
2、一個中斷服務(wù)子程序中會訪問到的非自動變量。
3、多線程應(yīng)用中被幾個任務(wù)共享的變量。
總結(jié)
以上是生活随笔為你收集整理的1、C++招聘笔试--C++中的C的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4、C语言面试笔试--内存操作-指针
- 下一篇: IC-工具篇--VCS使用教程-卷二(2