On Saturday, 18 August 2012 at 04:18:33 UTC, Jesse Phillips wrote:
On Friday, 17 August 2012 at 22:05:56 UTC, Walter Bright wrote:
On 8/17/2012 2:34 PM, Mehrdad wrote:
On Friday, 17 August 2012 at 20:46:02 UTC, Walter Bright wrote:
On 8/16/2012 6:43 PM, Mehrdad wrote:
On Friday, 17 August 2012 at 01:25:18 UTC, Chris Cain wrote:
Yeah. Again, you can't modify __the const view__.

Isn't that kinda useless, if it tells you nothing about the object itself?

It means you can write code that can process both mutable and immutable objects.

I meant from a C++/D comparison standpoint...

I don't know what you're driving at.

He wants to know what optimizations you get from transitive const over C++ const when you ignore other D features such as immutable and pure.

In D, const without immutable is meaningless.

const on its own provides no guarantees, it just imposes restrictions so that immutable can provide guarantees.

Think of it this way: const without immutable is like an interface with only one implementation. It's pointless: using the interface would just deny you access to other details of the (only) implementation. However, the restrictions provided by the interface (i.e. that the implementations must have certain methods) allows other implementations, and then using the interface is a useful way of writing polymorphic code.

const is the interface to mutable and immutable.

Reply via email to