六十七課 經典問題解析五

2021-08-25 16:53:44 字數 658 閱讀 2137

1、編寫程式判斷乙個變數是不是指標

過載函式

函式模板

變參函式

2、思路 :

示例:指標判斷

#include #include using namespace std;

class test

virtual ~test()

};template

char isptr(t* v)

int isptr(...)

#define isptr(p) (sizeof(isptr(p)) == sizeof(char))

int main()

virtual ~test()

};int main()

catch(...)

cout << "p = " << p << endl;

return 0;

}

3、避免在析構函式中丟擲異常

析構函式的異常將導致:物件所使用的資源無法完全釋放

c++中依然支援變參函式

變參函式無法處理物件引數

利用函式模板和變參函式能夠判斷指標變數

建構函式和析構函式中不要丟擲異常

題解六十七

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。示例 輸入 nums 1,2,3,4 輸出 1,3,2,4 注 3,1,2,4 也是正確的答案之一。思路 定義雙指標left right,分別指向陣列的首部和尾部。指標left從左向右...

67 經典問題解析五

1 面試問題 編寫程式判斷乙個變數是不是指標。2 指標的判別 c 中依然支援 c語言中的可變引數函式 c 編譯器的匹配呼叫優先順序 1 過載函式 2 函式模板 3 變參函式 接收任意多的引數 include using namespace std void test int i 優先順序第一 tem...

第55課 經典問題解析四

1.1 new和malloc的區別 1.2 delete free的區別 new和malloc的區別 include include include for malloc free 這兩個都是函式 using namespace std class test test int main 2.1 建構...