怎樣從一個函數返回多個值


 函數都是單一返回值的,沒有多返回值的情況。
如果說有的話,有以下兩種方法勉強可以說是多返回值的情況:
    1,返回一個數組。數組可以存儲多個數據,從而實現多返回值情況。
    2,利用引用參數達到返回的效果。函數返回值設置成BOOL型用以表明函數的返回狀態,具體功能實現都用引用參數實現。
    個人推薦使用第二種方法,在PHP中大多函數都是以BOOL型作為返回值返回函數狀態的。這樣可以避免一些細節問題。

用指針返回結果會很麻煩。

要特別小心不要把函數中的局部變量的地址返回出來。

返回結構本身沒有問題,但是結構中的指針又容易出狀況。

好的做法,返回結構,並且不要在結構中包含指針類型成員。

如果一定需要返回指針,這種情況多數在於字符串,這時候,你應該傳入一個已經分配了內存的指針和長度,在函數中填充。還有一種情況,就是初始化某個結構,這時候你不應當提供返回值,而是把結構的地址作為參數傳入。

在我們自己的代碼中:

不應該在函數的返回值中使用或者包含指針。
任何需要傳出的指針,都應該從參數中傳入並且提供長度信息。
函數內部使用的指針要自己在內部銷毀,不要銷毀的,必須要從參數中獲得。


除非你的代碼本身就是做內存分配用的,否則要遵守上面的建議。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM