ETH官方钱包

創作內容

19 GP

C++ 指標回傳陣列

作者:貓貓風 ?●ω●?│2017-11-18 21:42:52│巴幣:46│人氣:1727
.



















在C語言或C++中指標是一個很常用且很好用的功能

但要如何正確且有效率的使用正是需要好好研究與探討的地方

避免造成無意義的指標或是造成記憶體濫用而出現無法解釋的BUG等問題

雖然這不是本偏要探討的,本篇主要是分享用指標傳遞陣列的方法

先建立一個Class


  1. String *str = new String[3];  
  2. String st1 = "", st2= "";  
  3.   
  4. class pointer_test  
  5. {  
  6.   
  7. public:  
  8.   String* return_array();  
  9. private:  
  10.     
  11. };  
  12.   
  13. String* pointer_test::return_array()  
  14. {  
  15.     st1 = "first";  
  16.     st2 = "second";   
  17.     str[0] = st1;  
  18.     str[1] = st2;  
  19.     return str;    
  20. }  
  21.   

接著在主程式使用該Class,並將字串傳出


  1. String *pointer_pt;  
  2. pointer_test pt;  
  3. String first_element = "",second_element = "";  
  4.   
  5. int main() {  
  6.   
  7.     pointer_pt = pt.return_array();  
  8.     first_element = pointer_pt[0];  
  9.     second_element =  pointer_pt[1];  
  10. }  

圖解上述程式碼
New 一個陣列配置四個記憶體位置 [0][1][2][3],然後用指標str指向剛剛宣告陣列的起始位址


接著宣告一個副程式,會回傳指標

然後在副程式內將兩個字串分別配置到指標指向的陣列記憶體位置0 跟 1



副程式回傳指標STR

在主程式部分先宣告 Class的物件,並宣告另一個指標,儲存從副程式回傳的指標

會變成如下圖


最後就是將主程式定義的兩個字串分別塞入指標所指向的陣列記憶體位置0跟陣列記憶體位置1

從副程式回傳的陣列就這樣被丟出來了








引用網址:http://www.jamesdambrosio.com/TrackBack.php?sn=3793292
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:arduino|C#|C++|C

留言共 7 篇留言

PaPaPa
是時候該複習一下資料結構ㄌ

11-18 22:14

貓貓風 ?●ω●?
好唷11-19 01:01
小刀
厲害,我看不懂的說

11-19 00:03

貓貓風 ?●ω●?
[e34]11-19 01:01
鹽酸
class的第二行是不是怪怪的
String st1 = "", String st2= "";
逗號應該要改分號

11-19 00:49

貓貓風 ?●ω●?
喔喔 是我多打了一個 String 已修正11-19 01:01
至上大天神超星宿及月
這是C++?

11-19 01:03

貓貓風 ?●ω●?
對喔11-19 01:04
透明
請問new新增的陣列需要自行delete掉嗎? 我記得好像沒自己清除他就不會消失的樣子

11-19 01:10

貓貓風 ?●ω●?
是不會消失沒錯 如果真的有記憶體管控需求就要把他 free掉11-19 01:14
夏喵可 Meowko
看起來好厲害XDD完全沒有懂噗

11-19 11:41

貓貓風 ?●ω●?
這我也想很久才想通XD11-19 20:25
貓貓風 ?●ω●?
雖然這是我自己寫的@A@ 亂試出答案後發現說得通XD11-19 20:26
伊索雷
C#, C++ 不同世界嗎~

12-19 00:40

貓貓風 ?●ω●?
完全不同呀,C#反而比較像java12-19 08:30
我要留言提醒:您尚未登入,請先登入再留言

19喜歡★s1234567 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:張牙飛爪 拳皇 攻略... 後一篇:精靈寶可夢 究極之日/月...

追蹤私訊切換新版閱覽

作品資料夾

cckre所有巴友
夕闇-角色介紹網站 近期更新:片桐 彩子&虹野 沙希(純愛手札)  http://www.yuuyami.url.tw/看更多昨天13:58


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情? 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】