引用和指標
引用和指標引用的行為像乙個const指標解引用乙個有趣的關係式。從而給出如下:
1
2
3
int
nvalue = 5;
int
*
const
pnvalue = &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
struct
something
;
// 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...