On Saturday, 24 August 2019 at 05:03:43 UTC, Jonathan M Davis
wrote:
On Friday, August 23, 2019 10:14:56 PM MDT lili via
Digitalmars-d-learn wrote:
Hi:
In C we can definition const int *ncp_to_cv;
or int * const cp_to_ncv;
How to do this in D.
D uses parens to restrict how much of the type is const.
const int* - const pointer to const int
const(int*) - const pointer to const int
const(int)* - mutable pointer to const int
Similarly,
const(int*)* - mutable pointer to const pointer to const int
const(int)** - mutable pointer to mutable pointer to const int
D's const is transitive, so it's not possible to have a const
pointer to a mutable type.
- Jonathan M Davis
As to const pointers to mutable types, it can be done in a
library (Final in std.typecons). I don't know what the overhead
is but I imagine it wraps it in a struct