物件是隱式解引用

2021-06-22 20:03:48 字數 1461 閱讀 9374

引用和指標

引用和指標引用的行為像乙個const指標解引用乙個有趣的關係式。從而給出如下:

1

2

3

intnvalue = 5;

int*constpnvalue = &nvalue;

int&rnvalue = nvalue;

* pnvalue和rnvalue評估同。

作為乙個結果,

下面兩個語句

產生相同的效果:1

2

*pnvalue = 6;

rnvalue = 6;

同樣,乙個const引用的行為就像乙個const指標指向const物件是隱式解引用。

因為引用總是「點」來有效的物件,而不能指出釋放記憶體,引用的是比使用指標安全。如果乙個任務可以通過引用或指標解決,參考一般應首選。指標通常只能用在引用是不充分的情況下(如動態分配的記憶體)。

成員的選擇

通常有乙個指標或引用乙個結構(或類)。正如你已知道的,你可以選擇使用乙個struct的成員選擇運算子成員(。):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

structsomething

;

// member selection using actual struct variable

something ssomething;

ssomething.nvalue = 5;

// member selection using reference to struct

something &rssomething = ssomething;

rssomething.nvalue = 5;

// member selection using pointer to struct

something *pssomething = &ssomething;

(*pssomething).nvalue = 5;

隱式解引用

引用和指標 引用和指標引用的行為像乙個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物件是隱式解引用。因為引用總是 點 來有效...

Scala的隱式引數 隱式值 隱式物件

trait calc t 使用隱式值轉換到隱式引數 class multiplywithint extends calc int class multiplywithstring extends calc string 定義隱式值 implicit val i new multiplywithint...