2 指針和引用的區別?(1)new/delete是C++的操作符,而malloc/free是C中的函數。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、雅安服務器托管、營銷軟件、網站建設、鄭州網站維護、網站推廣。
(2)new做兩件事,一是分配內存,二是調用類的構造函數;同樣,delete會調用類的析構函數和釋放內存。而malloc和free只是分配和釋放內存。
(3)new/delete是保留字,不需要頭文件支持;malloc/free需要頭文件庫函數支持。在C語言中使用malloc和free需要加入stdlib.h頭文件。
(4)new、delete 返回的是某種數據類型指針,malloc、free 返回的是 void 指針。等等。
3 sizeof指針是?個實體,引?只是?個別名。
引?必須?且只能在定義時被綁定到?塊內存上,后續不能更改,也不能為空?。
sizeof引?得到代表對象的??。? sizeof 指針得到的是指針本身的??。
可以有const指針,但是沒有const引用。
指針可以有多級,但是引用只能是一級(int **p;合法 而 int &&a是不合法的)。
指針和引用的自增(++)運算意義不一樣。
4 野指針的問題sizeof的作用 Sizeof是C/C++中的關鍵字,它是一個運算符,其作用是取得一個對象(數據類型或數據對象)的長度(即占用內存的大小,以byte為單位)。其中類型包括基本數據類型(不包括void)。
5 深拷貝和淺拷貝的區別?野指針”產生原因及解決辦法如下:
(1) 指針變量聲明時沒有被初始化。解決辦法:指針聲明時初始化,可以是具體的地址值,也可讓它指向 NULL。
(2) 指針 p 被 free 或者 delete 之后,沒有置為 NULL。解決辦法:指針指向的內存空間被釋放后指針應該指向 NULL。
注意:“野指針”的解決方法也是編程規范的基本原則,平時使用指針時一定要避免產生“野指針”,在使用指針前一定要檢驗指針的合法性。
淺拷貝只復制指向某個對象的指針,而不復制對象本身,新舊對象還是共享同一塊內存。
深拷貝會創造一個一摸一樣的對象,新對象和原對象不共享內存,修改新對象不會改變原對象。
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
本文題目:【面試】C/C++面試題-創新互聯
文章鏈接:http://vcdvsql.cn/article12/ddgigc.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、網站改版、關鍵詞優化、網頁設計公司、手機網站建設、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯