using global variables to avoid passing by value
显示 更早的评论
It is often heard that using global variables is a bad practice.
However, personally, I often declare some variable as global to avoid passing its value to a function call.
My concern is, the function is to be called many many times, and if each time the variable which is a big chuck of data is to be passed by value to the function, it would take a lot of time for copying the data.
Therefore, is using global variable really a bad idea in this circumstance?
BTW, the global variable is not changed by the function in my case.
采纳的回答
更多回答(1 个)
alelap
2024-4-6
2 个投票
I agree with Jonh D'Errico's answer.
MATLAB uses a so called "copy-on-write" mechanism that is exactly designed to tackle such a circumstance:
类别
在 帮助中心 和 File Exchange 中查找有关 Performance and Memory 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!