Articles in this series
前言 考慮以下函數: int Calculate(int n) { int *arr1 = new int[n]; int *arr2 = new int[n]; delete[] arr1; delete[] arr2; return...
前言 假如有一個函數,可以吃下 Int 和 Char 的 l-value 和 r-value 作為參數 void foo(int&& a) { printf("R-Int: %d\n", a); } void foo(char&& c) { ...
上一篇 目標: 自動關閉檔案 現在來想一想,怎麼做到自動關閉檔案,以 FILE* 為基礎。這篇有一些假設性的想法,主要是熟悉更多語法。 std::unique_ptr unique_ptr 就有提供自定刪除子,所以我們可以這樣寫: std::unique_ptr<FILE*>...
前言 上一篇 在一個 class 裡面,有一個 raw pointer 還好,假如有兩個 raw pointer (都是要 new 的那種)呢? class A { public: A() { // ... b = new int; ...
上一篇 在只有 copy 行為的情況下,會有不少的效能問題,例如一個最常見的用法: std::vector<int> getPrimes(int n); // return p\_1, ..., p\_n primes auto primes = getPrimes(100000); //...
前言 這是這幾天的c++學習歷程的的整理,主要在於如何理解 c++11 的資源管理。 這是極為重要的,在 c ,資源的釋放都需要小心翼翼地寫: Obj ReadObjFromFile(const char* filename) { FILE* fp = fopen(filename,...