4
A
回答
4
你不能選擇。你只需要記住這個對象是一個Value
傳遞的值,其他對象通過引用傳遞。
Struct
是一個Value
並通過值。您應該更喜歡使用不可變數據類型的結構。然而,可變結構仍然允許在Crystal中,並且實際上this example演示瞭如何使用方法對其進行變異。總之:
struct Mutable
property value
def initialize(@value : Int32)
end
end
def change(mutable)
mutable.value = 2
mutable
end
mut = Mutable.new 1
mut = change(mut)
mut.value # => 2
相關問題
- 1. 通過參考變量
- 2. 通過參考變量警告結束()
- 3. 通過價值或參考使用struct
- 4. 通過或不通過參考?
- 5. 通過參考
- 6. 通過參考
- 7. 晶體靜態變量
- 8. 按值或通過C++ 11通用參考傳遞函數?
- 9. 傳遞實體/通過參考
- 10. 蟒:訪問類變量參考或不參考
- 11. 參考實例變量或屬性
- 12. 通過引用或值的變量? Java
- 13. 通過參數傳遞變量。或價值困境
- 14. 參考變量AS3
- 15. Java - 參考變量
- 16. Moq'ing參考變量
- 17. C++參考變量
- 18. PHP:存儲和/或通過參考
- 19. C++參考本地變量與參考
- 20. 再通過參考
- 21. LLVM,通過參考
- 22. C - 通過參考?
- 23. 通過vb.net參考
- 24. 將參考返回值分配給非參考變量
- 25. 商店參考變量與原始值
- 26. 參考變量作爲值 - VB6
- 27. auto &&變量的值不是右參考
- 28. 參考和輸出值類型變量
- 29. 通過RealProxy參考參數
- 30. C++傳遞變量 「結構」 型的作爲參考(&)或由值
使用指針綁定外或特殊性能優化當然不是最佳實踐。 –
@JonneHaß謝謝,您的評論以粗體顯示給答案 –
這不僅僅是壞習慣,而且實際上是不安全的代碼! –