函式指標
這兩天一直在重新翻看c++的書,發現對很多東西有了新的認識,或者說是懂了很多知識。
先來說說函式指標吧,函式指標,顧名思義就是指向函式的指標,而不是指向函式物件的指標。
1.形式就像,int (*pf)(const int &,const int &);這就是將pf宣告為返回值型別是int的,引數是const int&,const int&型別的。需要注意的就是*pf兩端的括號是必須的,不然編譯器會誤以為這是乙個返回型別是int*,引數是兩個const int &的函式。
2.使用typedef來簡化函式指標的定義。typedef int (*pnewf)(const int &,const int &);書上說的很懵懂,其實就是定義了乙個pf的型別,該型別是返回值為int,引數為兩個const int &的函式。我們可以這樣pnewf fun來定義新的變數fun。
3.函式指標的初始化。在引用函式名但又沒有呼叫該函式的時候,函式名將被自動解釋為指向函式的指標。假設有函式
int fun(const int &,const int &),那麼我們就可以這樣 pnewf p1 = fun 來賦值,也可以pnewf p2 = 0來初始化。
4.通過指標呼叫函式與直接用函式來使用是一樣的。比如:
pnewf p1 = fun;
p1(1,3)與fun(1,3)一樣。
RPAD函式略解
在寫本篇部落格之前,有一點小東西要寫在前面,漢字佔多少個位元組得看你用的是什麼編碼集,如果是gbk和gb2312的話,確實是兩個位元組,在windows平台上會是你預期的兩個位元組。但是在linux平台使用的是utf8字符集,那麼就不一定了,不過,我現在做plsql等東西一般是在win平台上做的,l...
KMP演算法略解
前言 本文是我對kmp演算法的臨時理解,用於使我不懷疑kmp演算法的正確性,用著放心。如圖 1 長串與短串進行匹配暴力對齊匹配時,在紅叉號處失配,長串的子串藍串和短串的字首黃串相等。如圖 2 試圖利用已有資訊 黃串等於藍串 來快速尋找短串串頭下一次應該對齊長串的哪個位置,這個位置被描述為 下乙個可能...
斜率優化略解
斜率優化演算法最重要的一步,就是要將狀態轉移方程改寫為y kx b的形式。而這一演算法主要的難點就在於,對於乙個複雜的狀態轉移方程,我們將哪些項將作為y,哪些項最為k和x,哪些項作為b。我們以luogu p3195 hnoi2008 玩具裝箱toy為例來說斜率優化 在本題中,設字首和為sum i 由...