Performance improvements for D / DMD compiler.

Walter Bright newshound at digitalmars.com
Sat Jan 20 00:45:12 PST 2007


Bill Baxter wrote:
> The question is how can we write functions in D that take big structs as 
> parameters in such a way that it is:
> A) efficient and
> B) guaranteed not to change the caller's value
> 
> In C++ the answer is const LargeStruct&.

C++ doesn't *guarantee* it won't change. There are at least two legal 
ways to do it.

> In D the answer is...

There aren't const references in D. But the 3 ways to pass it by pointer 
are:

1) inout
2) take the address and use a pointer
3) make it a class instead



More information about the Digitalmars-d mailing list