計算2進製數中1的個數,主要用到m&(m-1)
交換a,b不用中間變數,用異或:a=a^b;b=a^b;a=a^b
sizeof不是函式,它是個類似巨集定義的特殊關鍵字,只要是指標,大小就是4.
靜態變數時存放在全域性資料區的,而sizeof計算棧中分配的大小,是不會計算在內的。
sizeof(虛函式)(類)
class no_virtual
int fun2() const
private:
int a;
}class one_virtual
int fun2() const
private:
int a;
}class two_virtual
virtual int fun2() const
private:
int a;
}以上三個類中:
no_virtual沒有虛函式,sizeof(no_virtual)=4,類no_virtual的長度就是其成員變數整型a的長度;
one_virtual有乙個虛函式,sizeof(one_virtual)=8;
two_virtual有兩個虛函式,sizeof(two_virtual)=8; 有乙個虛函式和兩個虛函式的類的長度沒有區別,其實它們的長度就是no_virtual的長度加乙個void指標的長度,它反映出,如果有乙個或多個虛函式,編譯器在這個結構中插入乙個指標( v p t r)。在one_virtual 和two_virtual之間沒有區別。這是因為v p t r指向乙個存放位址的表,只需要乙個指標,因為所有虛函式位址都包含在這個表中。
指標和引用:
int &reiv 這種寫法是錯誤的,引用不能為空,必須同時初始化。
const double di 這種寫法是錯誤的,const常量賦值時,必須同時初始化。
char c="hello world" 分配區域性陣列 對應記憶體中的棧
char *c ="hello world" 分配全域性陣列 對應記憶體中的全域性區域 全域性區域的值是不能進行修改的
scanf用法 ,注意裡面的引數是輸入數的位址,而不是輸入數本身
scanf(格式控制,位址表列)
int scanf(char *format[,argument,...]);
「格式控制」的含義同printf函式;「位址表列」是由若干個位址組成的表列,可以是變數的位址,或字串首位址。
面試題中的路由
路由最初是出現在後端中,後端根據不同的路由返回不同的頁面,後來隨著單頁面應用 spa 誕生,前端也出現了路由,實現了不用重新整理頁面就可以更新頁面的效果。簡單的說,路由就是url到函式的對映 路由的本質是 監聽url的變化,然後匹配路由規則,顯示相應的頁面。在react router中,路由使用基本...
筆試面試題
1 昨天參加一公司筆試,給幾道演算法題整懵了,其實也不難,但好久沒有碰演算法,只是有思路,要讓我在這麼短的時間內寫出程式來還是不行。2 這裡將其中一道稍微複雜一點的演算法題寫下來,以此小結。3 4 題目描述 5 將n個雞蛋放入到m個籃子中去 n m 保證每個籃子中至少乙個雞蛋,然後指定乙個數x,要求...
面試題 筆試
題1 有如下資料庫表tab 請用乙個 delete 語句,刪除 value 重複的行,每個 value 只保留 id 最小的一行。delete from tab where id notin select from select min id from tab groupby value a 好像有...