本文章有,共同編輯與時常更新的版本,會寫在 hackmd 上面

C 語言

Pointer

Pointer of variable

  • A variable hold the address (一個指向某個儲存位址的變數)

Example:

    int val = 10;
    int * prt = &val

詳細可以參考 Mr. Open Gate 的文章 C/C++ - 常見 C 語言觀念題目總整理(適合考試和面試)

Array and Pointer 的關係

在 C 語言中,處理字串一定會牽扯到 char pointer ,在基礎處理上要很注意

Function Pointer

  • 設計目的:
    • can be used to simplify code by providing a simple way to select a function to execute based on run-time values. Function Pointer, wiki

變數範圍 Variable scope 和 生命週期 Variable life time

  • 常見有 local, static, global 被宣告為 static 的 variable 有效的生命週期是『只要在程式還在執行都可以使用』,範圍只有在宣告的區域(Ex: function) 才能被存取

詳細可以參考 Scope and Lifetime of Variables in C

Declaration and Definition 差別

記憶體配置 Memory allocation

請參考 Mr. Open Gate 的文章 [C/C++ - 常見 C 語言觀念題目總整理(適合考試和面試)] 的 [用心去感覺] 記憶體的配置

Struct Memory with Compiler Optimization

Source code 如何被 compile 成執行檔

可以參考一下投影片『How A Compiler Works: GNU Toolchain』,至少有概念就好(p9~p14)

C++ Object-Oriented Programming

Encapsulation

Access modifier

  • public
  • private
  • protect: can be access by derived class

Inheritance

Polymorphism

  • virtual function

Commonly Asked OOP Interview Questions | Set 1

Main References