July 18, 2004 Passing objects to functions | ||||
---|---|---|---|---|
| ||||
While readin the documentation on D's ABI, I was puzzled by the following passage: Reference Types D has reference types, but they are implicit. For example, classes are always referred to by reference; this means that class instances can never reside on the stack or be passed as function parameters. Does this mean that I cannot pass an object to a function? It seems odd that functions would be restricted from having class-typed parameters. Thanks in advance for any information on this topic. Regards, Garett Bass gtbass@studiotekne.com |
July 18, 2004 Re: Passing objects to functions | ||||
---|---|---|---|---|
| ||||
Posted in reply to Garett Bass | "Garett Bass" <gtbass@studiotekne.com> wrote in message news:cdcugg$2094$1@digitaldaemon.com... > While readin the documentation on D's ABI, I was puzzled by the following passage: > > Reference Types > D has reference types, but they are implicit. > For example, classes are always referred to > by reference; this means that class instances > can never reside on the stack or be passed > as function parameters. > > Does this mean that I cannot pass an object to a function? It seems odd that functions would be restricted from having class-typed parameters. Thanks in advance for any information on this topic. > > Regards, > Garett Bass > gtbass@studiotekne.com > It just means the class data itself isn't passed to functions, just a reference is: Object myobject = new Object; // a reference to a new Object. void foo(Object obj) { } foo(myobject); // foo()'s obj is a reference to the same thing myobject refers to. |
Copyright © 1999-2021 by the D Language Foundation