隱式指標新增和取消引用

2021-06-26 01:06:18 字數 708 閱讀 6788

圓括號是必須確保運算子的優先順序是正確的-運算子*相比具有高優先順序的操作符+。

注:*(系列1)具有相同的效果作為關聯陣列[ 1 ]。事實證明,陣列索引運算子()實際上是乙個隱式指標新增和取消引用!它只是看起來更漂亮。

我們可以用乙個指標和指標運算遍歷陣列。雖然不常這樣做(使用指標通常更容易閱讀,不易出錯),下面的例子去顯示它是可能的:

123

4567

891011

1213

1415

1617

1819

2021

2223

const int narraysize = 7;

char szname[narraysize] = "mollie";

int nvowels = 0;

for (char *pnptr = szname; pnptr < szname + narraysize; pnptr++)}

cout << szname << " has " << nvowels << " vowels" << endl;

這個程式使用乙個指標遍歷每個陣列中的元素。每個元素被廢棄的開關的表達,如果元素是乙個母音,nvowels遞增。for迴圈再用++運算子移動指標指向陣列中的下乙個字元。for迴圈終止時,所有的角色都被檢查。

上面的程式產生的結果:

莫莉有3個母音字母

隱式解引用

引用和指標 引用和指標引用的行為像乙個const指標解引用乙個有趣的關係式。從而給出如下 int nvalue 5 int const pnvalue nvalue int rnvalue nvalue pnvalue and rnvalue evaluate identically.as a re...

隱式解引用

引用和指標引用的行為像乙個const指標解引用乙個有趣的關係式。從而給出如下 int nvalue 5 int const pnvalue nvalue int rnvalue nvalue 同樣,乙個const引用的行為就像乙個const指標指向const物件是隱式解引用。因為引用總是 點 來有效...

隱式轉換和隱式引數

1 隱式轉換 隱式轉換函式是以implicit關鍵字宣告的帶有單個引數的函式。這種函式將會自動應用,將值從一種型別轉換為另一種型別 object scala01 implicit def f1 d double int double 是輸入型別,int 是轉換後的型別 隱式函式的底層工作原理 def...