面試過程中遇到的面試問題

2022-05-02 21:36:06 字數 1164 閱讀 7937

c++常見的四種強制型別轉換有哪些?

常見的型別轉換是在要轉換的型別前面加上括號和要轉換的型別。

這樣就有乙個規則即像站姿結束多的自動轉換,例如int型別和float相加時,結果自動轉換為float型別。

例如

int *a=1;

char *p = (char*)a;

以上這種形式是c語言的形式,如果換做c++的話常用的形式如下:

int *a=1

;char *p=cahr*(a);

也就是說他是會把待轉換的用括號括起來。也樣就像是呼叫函式一樣。

請看下面例項

int data = ;

char* pch=(char*)(&data);

char ch = char (data);

這些在c語言中都是合理的。但是這樣做給人的感覺很鬆散。於是c++的傳世人增加了四種強制型別轉化符即

static_case

dynamic_case

const_case

reinterpret_case

形式如下

static_case

(expression)

dynamic_case

(expression)

const_case

(expression)

reinterpret_case

(expression)

dynamic_case:

假設有a,b兩個類,*a,*b分別是兩個類的指標。則僅當b是a的可訪問的基類是下面語句才有效

b=dynamic_case

a;

才有效。也就是小型別像大型別轉換,就像int和float相加結果為float型別一樣。

const_case:

意義是將const修飾的不可變的物件變成可變的volatile物件。但是並不是萬能的,例如使用const_case修改了乙個指標,則修改的const值得結果卻是不確定的。

static_case :

只有當type-name可隱式轉換為expression或者expression可隱式轉換為type-name時,才可使用。

最後乙個不常用

面試過程中

面試過程中,面試官會向應聘者發問,而應聘者的回答將成為面試官考慮是否接受他的重要依據。對應聘者而言,了解這些問題背後的 貓膩 至關重要。本文對面試中經常出現的一些典型問題進行了整理,並給出相應的回答思路和參 讀者無需過分關注分析的細節,關鍵是要從這些分析中 悟 出面試的規律及回答問題的思維方式,達到...

面試過程中遇到的演算法題 二

面試過程中遇到的演算法題記錄 有乙個字元陣列,找出陣列中,長度最長的前兩個 示例 a abcd ab ads 輸出abcd,ads 如下 示例 from typing import list class arry def arryone self,nums list str l len nums f...

面試過程中 訊息佇列相關問題總結

在實際專案中是否用過訊息佇列?這裡簡單介紹一下redis訊息佇列吧,之前有乙個服務號訊息推送就是用的redis來做的,因為業務比較單一所以就拿redis來做 第一步 建立推送任務 1.區分任務是即時任務還是延時任務 2.如果是延時任務可以使用zset key,time,val 因為zset 是有序列...