What's the correct opEquals signature for structs?
Alex Rønne Petersen
xtzgzorex at gmail.com
Tue Mar 13 17:47:13 PDT 2012
On 14-03-2012 01:43, Andrej Mitrovic wrote:
> On 3/14/12, Jonathan M Davis<jmdavisProg at gmx.com> wrote:
>> As I understand it, auto ref is supposed to work with _any_ function. The
>> _compiler_ decides whether it's best to use a ref or a value.
>
> I never really understood the need for 'const ref' with structures. If
> the compiler knows the size of a structure shouldn't it be able to
> automatically figure out if it's faster to pass a struct by value or
> by pointer? But maybe there's more to it than that?
struct S { int i; }
void foo(S s) // compiler decides to pass by ref
{
s = S(2);
}
S s = S(1);
foo(s);
assert(s.i == 1); // fails - wat?
--
- Alex
More information about the Digitalmars-d-learn
mailing list