close

 

1508072246073

 

疫情也鬧那麼久了,所以真的無聊到頂了。其實一開始並不是種菜,而是翻開當年拿來 -*擺架子*- 的書,反正閒著也是閒著,小孩子都長大了沒得打了,就當個(亂翻書的清風)吧。


程式語言 C++教學範本


C++常被工程師們調侃是C語言的升級版,但其實並非如此,C++擁有C語言沒有的「物件導向設計」,使得學習C++比起C語言會更加容易,由於物件導向帶來的方便性,且承襲C語言的優點及特性,使得C++常常用來撰寫電腦的軟體,若想成為軟體工程師,C++是你必備的工具。


很多程式員說:學C/C++而不會使用指標,相當於沒學過C/C++。


指標(Pointer)是 C/C++ 中一種儲存變數記憶體位址的資料型態,經常用於構建 Linked List 之類的結構或是用來傳遞大資料的記憶體位址從而提升程式效率。


指標 (pointer) 這東西是 C/C++ 主要的功能之一,其功能是保存變數的位址,以供程式直接對記憶體位址進行讀寫,雖然概念簡單,但卻是 C/C++ 中最難學習的部份,而且指標不當使用很容易造成系統不穩定,因此比較新的程式語言都會把指標包裝在核心內,不讓程式開發人員直接接觸到指標 (ex: Java, C#)

指標 (pointer) 這東西已經有夠鬧了,如果再加上const來修飾的話...


例 : 對於指標a... 


int num = 20; 


const int* a = # [狀況1] 

int const *a = # [狀況2] 

int* const a = # [狀況3] 

const int* const a = # [狀況4]


如果const位於星號的左側,則const就是用來修飾指標所指向的變數,即指標指向為常量;

如果const位於星號的右側,const就是修飾指標本身,即指標本身是常量


[狀況1]和[狀況2]的情況相同,都是指標所指向的內容為常量(const放在變數宣告符的位置無關),這種情況下不允許對內容進行更改操作,如不能*a = 3 


[狀況3]為指標本身是常量,而指標所指向的內容不是常量,這種情況下不能對指標本身進行更改操作,如a++是錯誤的


[狀況4]為指標本身和指向的內容均為常量。











感謝你浪費青春讀到這裡,因為不完整介紹指標(pointer)所以就變成是一篇廢文,也純粹是為圓好友的一個願望 -- 再胡鬧一下...疫情一開始我真的無聊到跑去讀我看不懂的書,一直看到頭昏眼花才改成種菜,你說這樣夠不夠鬧。

 

 

 

 

.

arrow
arrow
    全站熱搜

    白牛王子 發表在 痞客邦 留言(23) 人氣()