Fixing const arrays
Jonathan M Davis
jmdavisProg at gmx.com
Sat Dec 10 15:15:49 PST 2011
On Sunday, December 11, 2011 08:01:57 kenji hara wrote:
> 2011/12/11 bearophile <bearophileHUGS at lycos.com>:
> > kenji hara:
> >> It breaks IFTI rule,
> >
> > What do you mean?
>
> I mean following code comment will not become true.
>
> void func(T)(T prm){}
> void main(){
> X arg;
> func(arg); // T is deduced to typeof(arg)
> }
Why does that matter? What does it affect?
As far as functions go, it means that
immutable str = "hello";
func(str);
would instantiate to
func!string
instead of
func!(immutable string)
which will no affect on the internals of the function except for the fact that
it's no possible to alter the function parameter. The contents of the array
are immutable regardless.
In what situation would it matter that it's now func!string instead of func!
(immutable string)?
- Jonathan M Davis
More information about the Digitalmars-d
mailing list