sind standard layout klassen sicher fuer dll/so grenzen?



  • hallo leute,

    bei den type_traits gibt es ja is_standard_layout<>.
    kann ich davon ausgehen, das klassen die das standard_layout erfuellen sicher fuer den gebrauch ueber dll/so grenzen sind?

    ich weiß das es auch auf z.b. memory management und alignment drauf ankommt. aber das kann ich sicherstellen das das der fall ist.

    Meep Meep



  • sicher fuer den gebrauch ueber dll/so grenzen sind?

    Kommt drauf an, was damit gemeint ist. Solange alles mit dem gleichen Compiler und den gleichen Einstellungen übersetzt wird, ist jedes C++ Konstrukt nutzbar.

    Wenn nicht:

    #include <iostream>
    #include <type_traits>
    #include <string>
    
    struct A {
        int m;
        std::string b;
    };
    
    int main()
    {
        std::cout << std::boolalpha;
        std::cout << std::is_standard_layout<A>::value << '\n';
    }
    

    liefert true.


Log in to reply