The macro
offsetof(type, member-designator)
has the same semantics as the corresponding macro in
the C standard library header 
, but
accepts a restricted set of 
type
arguments in this document
.Use of the 
offsetof macro with a 
type
other than a standard-layout class (
[class.prop])
is conditionally-supported
.The result of applying the 
offsetof macro to
a static data member or a function member is undefined
.No operation invoked by the 
offsetof macro shall throw an exception and
noexcept(offsetof(type, member-designator)) shall be 
true.