www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - What is the difference? (D2)

reply "Dave B." <nospam thankyou.com> writes:
Using them as parameter modifiers in functions, what is the difference 
between "in", "const" and "final"?

e.g.

void func(final int i)
{...}

vs

void func(in int i)
{...}

vs

void func(const int i)
{...}

Thanks
Jul 28 2008
next sibling parent torhu <no spam.invalid> writes:
Dave B. wrote:
 Using them as parameter modifiers in functions, what is the difference 
 between "in", "const" and "final"?
 
 e.g.
 
 void func(final int i)
 {...}
 
 vs
 
 void func(in int i)
 {...}
 
 vs
 
 void func(const int i)
 {...}
 
 Thanks
Currently, I think that 'const' and 'in' are the same. While 'final' is not implemented, and I can't recall what it was supposed to do.
Jul 28 2008
prev sibling parent reply "Koroskin Denis" <2korden gmail.com> writes:
On Mon, 28 Jul 2008 13:24:12 +0400, Dave B. <nospam thankyou.com> wrote:

 Using them as parameter modifiers in functions, what is the difference  
 between "in", "const" and "final"?

 e.g.

 void func(final int i)
 {...}

 vs

 void func(in int i)
 {...}

 vs

 void func(const int i)
 {...}

 Thanks
in, out and inout are explained here very well: http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.learn&artnum=6440 in - is a do-nothing modifier, since it is a default behaviour. const - variable is a constant value in the function scope. D2 only final - not supported. use const instead
Jul 28 2008
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Koroskin Denis wrote:
 On Mon, 28 Jul 2008 13:24:12 +0400, Dave B. <nospam thankyou.com> wrote:
 
 Using them as parameter modifiers in functions, what is the difference 
 between "in", "const" and "final"?

 e.g.

 void func(final int i)
 {...}

 vs

 void func(in int i)
 {...}

 vs

 void func(const int i)
 {...}

 Thanks
in, out and inout are explained here very well: http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars D.learn&artnum=6440 in - is a do-nothing modifier, since it is a default behaviour. const - variable is a constant value in the function scope. D2 only final - not supported. use const instead
That's about D1 though. At least at one point, Walter said that 'in' would mean 'final const' in D2. I don't know if it's panned out that way or not. --bb
Jul 28 2008
parent Jesse Phillips <jessekphillips gmail.com> writes:
On Tue, 29 Jul 2008 09:45:51 +0900, Bill Baxter wrote:

 Koroskin Denis wrote:
 On Mon, 28 Jul 2008 13:24:12 +0400, Dave B. <nospam thankyou.com>
 wrote:
 
 Using them as parameter modifiers in functions, what is the difference
 between "in", "const" and "final"?

 e.g.

 void func(final int i)
 {...}

 vs

 void func(in int i)
 {...}

 vs

 void func(const int i)
 {...}

 Thanks
in, out and inout are explained here very well: http://www.digitalmars.com/pnews/read.php?
server=news.digitalmars.com&group=digitalmars.D.learn&artnum=6440
 
 
 in - is a do-nothing modifier, since it is a default behaviour. const -
 variable is a constant value in the function scope. D2 only final - not
 supported. use const instead
That's about D1 though. At least at one point, Walter said that 'in' would mean 'final const' in D2. I don't know if it's panned out that way or not. --bb
I thought with all the changes that happened final was thrown out.
Jul 28 2008