1.
//把資料型別去掉了看 簡單很多的
指標常量
指標常量:顧名思義它就是乙個常量,但是是指標修飾的。
格式為:
int * const p //指標常量
在這個例子下定義以下**:
int a,b;
int * const p=&a //指標常量
//那麼分為一下兩種操作
*p=9;//操作成功
p=&b;//操作錯誤
因為宣告了指標常量,說明指標變數不允許修改。如同次指標指向乙個位址該位址不能被修改,但是該位址裡的內容可以被修改
常量指標:如果在定義指標變數的時候,資料型別前用const修飾,被定義的指標變數就是指向常量的指標變數,指向常量的指標變數稱為常量指標,格式如下
const int *p = &a; //常量指標
在這個例子下定義以下**:
int a,b;
const int *p=&a //常量指標
//那麼分為一下兩種操作
*p=9;//操作錯誤
p=&b;//操作成功
因為常量指標本質是指標,並且這個指標是乙個指向常量的指標,指標指向的變數的值不可通過該指標修改,但是指標指向的值可以改變。
指向常量的指標常量該怎麼寫?
答案:
const int * const b = &a;//指向常量的指標常量
2.下面**的輸出結果是()
int
main()
else
if
(pid==0)
}
1.父子程序中輸出的num相同,num位址不相同
2.父子程序中輸出的num不同,num位址相同
3.父子程序中輸出的num相同,num位址也相同
4.父子程序中輸出的num不同,num位址不相同解析:2
剛剛fork出來不止虛擬位址一樣,實體地址也一樣。當程序發生分歧時,即修改此變數時,才會分配不同的實體地址,也就是copy-on-write,寫時複製。
3.
#include using namespace std;
class b0//基類bo宣告
};class b1 :public b0//公有派生
};class d1 : public b1//公有派生
};void fun(b0 ptr)//普通函式
int main()
輸出結果:b0::display0 b0::display0 b0::display0解析:fun函式,傳入的引數是乙個類的物件,這樣,派生類作為引數傳入的時候,會自動的型別轉換為基類物件,這樣,display就只是執行基類的函式了。選b0::display() b0::display() b0::display()
刷題知識點
加速輸入輸出流,放到 頭部 static const auto speedup 陣列初始化容器 int a vector b begin a end a map操作 include include using namespace std int main void else 刪除 iterator ...
刷題小知識點
二維陣列的指標寫法 include using namespace std int main for int i 0 i 3 i cout a 1 2 endl system pause return 0 char a 10 則最後乙個必須是 0 前面9個數 char a 多維陣列最後一維必須有值。...
python leetcode刷題知識點筆記2
第一種方法 bfs廣度優先搜尋,使用雙端佇列deque 因為效能比另外兩種queue好得多 在大迴圈內對二叉樹的每個層做一次遍歷,range len queue 使只遍歷當前的層,每次大迴圈ans加1。由於每個節點僅訪問一次,所以時間複雜度o n import collections class s...