Is sizeof() available in D language?

Jonathan M Davis newsgroup.d at jmdavisprog.com
Tue Sep 5 00:43:03 UTC 2023


On Monday, September 4, 2023 2:34:08 PM MDT Olivier Pisano via Digitalmars-d-
learn wrote:
> On Monday, 4 September 2023 at 09:41:54 UTC, BoQsc wrote:
> > I've seen everyone using **datatype**`.sizeof` property.
> >
> > https://dlang.org/spec/property.html#sizeof
> >
> > It's great, but I wonder if it differ in any way from the
> > standard C function `sizeof()`.
>
> Technically speaking, in C, sizeof is not a function, it is an
> operator. This is why it is not available in D (replaced by the
> .sizeof property).
>
> > https://www.geeksforgeeks.org/sizeof-operator-c/
> > https://en.cppreference.com/w/cpp/language/sizeof
> >
> > I'm seeking for some speed/performance, so that's why the
> > question.
> > Overall I'm alright with continuing using it.
>
> There is absolutely no difference in terms of runtime
> performance. In both cases, the compiler replaces it by the size
> of the type at compile-time.

Yeah. You can pretty much just think of C's sizeof and D's sizeof as being
the same thing with different syntaxes. In both cases, it's a compile-time
value that gives the size of a type in bytes. In neither case does how it is
calculated have any impact on the performance of the program.

- Jonathan M Davis





More information about the Digitalmars-d-learn mailing list