2018年6月16日 星期六

Java reference v.s.C++ reference

       C++                        Java++
copy      複製一份內容數值                                      複製一份參考給別人 

    C++中的參考,必須在宣告時就指定其所指之處,且不得改變                                                                                              指向同份object的數值
C++:
Java:
值本身被賦給p1
Point p1(5,5);
p1
XXXX : 0000
5
XXXX : 0004
5
XXXX : 0008
XXXX : 000C
建立一個Point類別的Point物件p1,因此賦值時(5,5),會給予不同的值的儲存格空間
->即物件"指向"他人
Point p1 = new Point(5,5);
p1
XXXX : 0000
XXXX : 0100
XXXX : 0004
XXXX : 0008
XXXX : 000C
. . .
Instance of
XXXX : 0100
5
Point Object
XXXX : 0104
5
XXXX : 0108
XXXX : 010C
     p2一樣有自己的位置,當然,相對的,一個人綁(5,5)
     另一個人也綁(5,5)
Point p2 = p1;
p1
XXXX : 0000
5
XXXX : 0004
5
p2
XXXX : 0008
5
XXXX : 000C
5
不同的物件,但相同的賦值
Point p2 = p1;
p1
XXXX : 0000
XXXX : 0100
p2
XXXX : 0004
XXXX : 0100
XXXX : 0008
XXXX : 000C
. . .
Instance of
XXXX : 0100
5
Point Object
XXXX : 0104
5
XXXX : 0108
XXXX : 010C


  • (c++)Point& p2 = p1;指向同塊記憶體
  • Pointer p3(7,7);
  • p2=p3;複製一份p2給p3;
  • C++的參考,比較常用的場合是在呼叫函式時

沒有留言:

張貼留言

Ethereum- Learn Solidity step by step

Common Function Types: public: Anyone can call this function,but it isn't really used for any type of security per se. priv...