pure void* memset(return void* s, int c, size_t n)?

Uknown via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Sep 5 23:19:01 PDT 2017


On Wednesday, 6 September 2017 at 06:09:46 UTC, Psychological 
Cleanup wrote:
> What is the return doing there?

The return implies that the function will return the parameter 
`s` after it has done whatever it needs to.

It is useful for the compiler to do escape analysis or

So memset would be something like this:

pure void * memset(return void * s, int c, size_t n)
{
         foreach (i; 0 .. n)
                 (cast(char *) s)[i] = cast(char) c;
         return s;
}


More information about the Digitalmars-d-learn mailing list