auto*

bauss via Digitalmars-d digitalmars-d at puremagic.com
Thu Jul 6 16:50:24 PDT 2017


On Thursday, 6 July 2017 at 23:12:03 UTC, H. S. Teoh wrote:
> On Thu, Jul 06, 2017 at 10:31:10PM +0000, Meta via 
> Digitalmars-d wrote:
>> On Thursday, 6 July 2017 at 21:58:45 UTC, H. S. Teoh wrote:
>> > On Thu, Jul 06, 2017 at 09:42:22PM +0000, Meta via 
>> > Digitalmars-d wrote:
>> > > On Thursday, 6 July 2017 at 18:10:57 UTC, FoxyBrown wrote:
>> > > > Create an auto pointer, handy in some cases and fits in 
>> > > > the language as a natural generalization.
>> > > 
>> > > It's been suggested before (as well as more powerful 
>> > > generalization for slices and associative arrays), but 
>> > > Andrei vetoed it so it probably won't be added even if 
>> > > somebody created a formal proposal for it.
>> > 
>> > I'm curious, what exactly was proposed?  Because I have a 
>> > hard time understanding what's intended from the OP's 
>> > description.
>> > 
>> > 
>> > T
>> 
>> Partial type inference. `auto*` declares a point to a type 
>> that is inferred from inspecting the RHS's type. The previous 
>> proposal was for doing `auto[] a = [0, 1, 2]` (a's type is 
>> inferred as int[]).
>
> But doesn't `auto a = [0, 1, 2];` *already* infer typeof(a) as 
> int[]? What does `auto[]` add over what `auto` already does?
>
>
> T

It does, but I think it's more a thing of knowing what exactly 
the auto is.

Let's say you have.

auto a = foo();

You have no idea what auto actually is in that case, but

auto* a = foo();

You know auto is a pointer of whatever foo returns.


More information about the Digitalmars-d mailing list