- 內存四大區域:
運行前:
全局區(存放全局變量,靜態變量,常量) ,常量區中存放 const修飾的全局常量和字符串常量,靜態變量爲static修飾的變量
代碼區(存放二進制機器指令,特點:共享與只讀)
運行後:
棧區(由編譯器自由釋放,如局部變量,參數) 注意:不要返回在棧中創建的局部變量的地址,地址在函數執行完會釋放,就變成非法地址了
堆區(由程序員自己創建,釋放);他們有不同的生命週期,在C++中主要利用new在堆區開闢內存
- 引用就是起別名,引用必須初始化,引用在初始化後,不可以改變(就是兩個東西不能有同一個別名)
- 函數傳參時,可以利用引用的技術讓形參修飾實參,優點: 可以簡化指針修改實參;引用傳遞和地址傳遞都會修改實參,值傳遞不會修改實參
- 引用做函數返回值,不要返回局部變量的引用/不要返回局部變量的地址;如果函數的返回爲引用,那麼可以作爲左值進行復制操作;引用的本質爲指針常量,指針的指向不可以改,但指向的內容可以改
- 常量引用主要用來修飾形參,防止誤操作,加const就行