天天看點

C語言與C++常見面試題

  • 1 變量的聲明和定義有什麼差別
  • 2 簡述

    #ifdef、#else、#endif

    #ifndef

    的作用
  • 3 寫出

    int 、bool、 float

    、指針變量與 “零值”比較的

    if

    語句
  • 4 結構體可以直接指派嗎
  • 5

    sizeof

    strlen

    的差別
  • 6 C 語言的關鍵字

    static

    和 C++ 的關鍵字

    static

    有什麼差別
  • 7 C 語言的

    malloc

    和 C++ 中的

    new

  • 8 寫一個 “标準”宏MIN
  • ++i

    i++

  • 10 

    volatile

    有什麼作用
  • 11 一個參數可以既是

    const

    又是

    volatile

  • 12 

    a

    &a

  • 13 用 C 編寫一個死循環程式
  • 14 結構體記憶體對齊問題
  • 15 全局變量和局部變量有什麼差別?實怎麼實作的?作業系統和編譯器是怎麼知道的?
  • 16 簡述 C、C++ 程式編譯的記憶體配置設定情況
  • 17 簡述

    strcpy、sprintf

    memcpy

  • 18 請解析

    (*(void (*)( ) )0)( )

    的含義
  • 19 C語言的指針和引用和c++的有什麼差別?
  • 20 

    typedef

    define

  • 21 指針常量與常量指針差別
  • 22 簡述隊列和棧的異同
  • 23 設定位址為

    0x67a9

    的整型變量的值為

    0xaa66

  • 24 編碼實作字元串轉化為數字
  • 25 C 語言的結構體和 C++ 的有什麼差別
  • 26 簡述指針常量與常量指針的差別
  • 27 如何避免“野指針”
  • 28 句柄和指針的差別和聯系是什麼?
  • 29 

    new/delete

    malloc/free

    的差別是什麼
  • 30 說一說

    extern“C”

  • 31 請你來說一下 C++ 中

    struct

    class

  • 32 C++ 類内可以定義引用資料成員嗎?
  • 33 C++ 中類成員的通路權限
  • 34 什麼是右值引用,跟左值又有什麼差別?
  • 35 面向對象的三大特征
  • 36 說一說 c++ 中四種

    cast

    轉換
  • 37 C++ 的空類有哪些成員函數
  • 38 對 c++ 中的

    smart pointer

    四個智能指針:

    shared_ptr,unique_ptr,weak_ptr,auto_ptr

    的了解
  • 39 說說強制類型轉換運算符
  • 40 談談你對拷貝構造函數和指派運算符的認識
  • 41 在 C++ 中,使用 

    malloc

    申請的記憶體能否通過

    delete

    釋放?使用

    new

    申請的記憶體能否用

    free

  • 42 用 C++ 設計一個不能被繼承的類
  • 43 C++ 自己實作一個

    String

  • 44 通路基類的私有虛函數
  • 45 對虛函數和多态的了解
  • 46 簡述類成員函數的重寫、重載和隐藏的差別
  • 47 連結清單和數組有什麼差別
  • 48 用兩個棧實作一個隊列的功能
  • 49 

    vector

    的底層原理
  • 50 

    vector

    中的

    reserve

    resize

  • 51 vector

    中的

    size

    capacity的差別
  • 52 vector

    erase

    方法與

    algorithn

    中的

    remove`方法差別
  • 53 

    vector

    疊代器失效的情況
  • 54 正确釋放

    vector

    的記憶體

    (clear(), swap(), shrink_to_fit())

  • 55 

    list

  • 56 什麼情況下用

    vector

    ,什麼情況下用

    list

    ,什麼情況下用 deque
  • 57 

    priority_queue

  • 58 

    map 、set、multiset、multimap

  • 59 為何

    map

    set

    的插入删除效率比其他序列容器高
  • 60 為何

    map

    set

    每次

    Insert

    之後,以前儲存的

    iterator

    不會失效?
  • 61 當資料元素增多時(從 10000 到 20000),

    map

    set

    的查找速度會怎樣變化?
  • 62 

    map 、set、multiset、multimap

    的特點
  • 63 為何

    map

    set

    的插入删除效率比其他序列容器高,而且每次

    insert

     之後,以前儲存的

    iter

  • 64 為何

    map

    set

    不能像

    vector

    一樣有個

    reserve

    函數來預配置設定資料?
  • 65 

    set

    的底層實作實作為什麼不用哈希表而使用紅黑樹?
  • 66 

    hash_map

    map

    的差別?什麼時候用

    hash_map

    ,什麼時候用

    map

  • 67 疊代器失效的問題
  • 68 

    STL

    線程不安全的情況

繼續閱讀