所以我有这片帕斯卡代码: program P;
var a: array [1..2] of Integer;
var i :Integer;
var k :Integer;
procedure update(x,y,z: Integer);
begin
x := x+1;
y := x*2;
x := y;
k := x;
我做了一个自定义类,它涉及大量的数字和字符串计算。我通过只提供访问器而不使用增变器来使我的类不可变。一旦对象被构建,就不会改变它的一个属性。 我从这里的问题是,目前我的功能所有是通过价值。如果你有一个不可变的对象,那么即使需要引用也是通过引用的?由于副本需要不断创建,因此在内存方面浪费了价值? 例如: class MyInteger
{
private:
const int
如果我将一个变量作为常量传递,它会自动通过引用传递? procedure foo(const x : integer)
我可以参考已经传递变量是这样的: procedure foo(var y : integer);
理想我想要的东西像下面的代码: procedure foo(const var z : integer)