The C++ standard specifies that mutex, atomics or conditinal_variable are of standard-layout type.
What is the benefit of this specification? How a user can take advantage of this property?
And in general, what could I gain if a know a type is standard-layout without knowing the detail of its implementation?
From this standard layout reference:
Standard layout types are useful for communicating with code written in other programming languages.
For example, if you build a mixed C and C++ application, the C structures will be standard layout and can be used interchangeably between the parts written in C and the parts written in C++. This is often very crucial for being able to use operating system native functions and structures.
You could make your code talk with other programs, written in different Programming Languages than yours.
The ref mentions C++ concepts: StandardLayoutType:
Standard layout types are useful for communicating with code written in other programming languages.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With