> On Oct 5, 2015, at 6:59 PM, Rick Mann <rm...@latencyzero.com> wrote:
> 
> Huh. I continue to be bothered by the ambiguity/variability of "let"*. Is the 
> reference immutable or the thing it points to?

A variable (var or let) doesn’t “point to” a struct. It _contains_ the struct. 
I.e. it’s a value, not a reference.

It’s just like in C or C++, really. Given a struct Foo,
        const Foo x;  // a value: x is immutable; you can’t change its fields
        Foo* const x; // a reference: the variable x can’t be changed, but the 
Foo it points to can

The thing Swift doesn’t have that C/C++ do is
        const Foo *x; // the Foo can’t be changed through this reference 
(though the value of x can)
The reason this was left out is probably that it doesn’t fit at all with 
Objective-C and the Cocoa frameworks, which have no concept of a constant 
reference to an NSObject.

—Jens
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to