On Sunday, 24 August 2025 at 03:13:38 UTC, David T. Oxygen wrote:
Hello every kind and helpful D programmers, I need your help.

I've met two problems about getting types.
In D, we can use many keywords to get the type of an object, such as `typeof`,`typeid`,`is`. However, I don't know the differences between them well. I also don't know how to use them in D...

`typeof` is evaluated at compile time and gives the type of an expression or symbol as seen by the compiler.

`typeid` is evaluated at runtime and gives the [`TypeInfo`][1] object containing information about an object's runtime type.

[1]: https://dlang.org/library/object/type_info.html

The difference between `typeof` and `typeid` can be seen in the following program:

    class Example {}

    void main()
    {
        auto object = new Example;
        check(object);
    }

    void check(Object o)
    {
        import std.stdio;

        writeln(typeof(o).stringof); // Object
        writeln(typeid(o).toString); // Example
    }

Reply via email to