小编Ret*_*ser的帖子

"通过引用传递"是不是很糟糕的设计?

所以,我刚刚开始学习Java,我发现没有"通过引用传递"这样的东西.我正在将一个应用程序从C#移植到Java,原始应用程序有一个"ref"或"out"参数的整数和双精度数.

起初我以为我可以传入"整数"或"双精度",由于这是一个引用类型,因此值将被更改.但后来我了解到那些引用类型是不可变的.

那么,我创建了一个"MutableInteger"类和一个"MutableDouble"类,并将它们传递给了我的函数.它有效,但我想我必须违背该语言的原始设计意图.

一般糟糕的设计是"通过参考"吗?我该如何改变自己的思维方式?

拥有这样的函数似乎是合理的:

bool MyClass::changeMyAandB(ref int a, ref int b)
{
    // perform some computation on a and b here

    if (success)
        return true;
    else return false;
}
Run Code Online (Sandbox Code Playgroud)

这是糟糕的设计吗?

parameter-passing pass-by-reference

24
推荐指数
3
解决办法
6420
查看次数