Wednesday, 15 June 2011

c++ - In what cases do we need to know if a class is trivial? -



c++ - In what cases do we need to know if a class is trivial? -

std::is_trival<t>::value can determine if class t trivial. however, cannot think of scenario needs information.

are there examples?

some thoughts of mine:

provided class t trivial, mean t can safely copied memcpy this:

t t1, t2; memcpy(&t1, &t2, sizeof(t));

?

if type trivial can, example, copied memcpy. that's requirement user-defined types used arguments std::atomic template. is, user-defined type t, atomic<t> allowed (and, larger types, required) implement assignment object of type t object of type atomic<t> memcpy. similarly, testing equality, when needed, done memcmp.

the reason using these c functions instead of c++ operators atomic operations not create calls user code. doing lead mysterious deadlocks innocent-looking code.

c++ class c++11 typetraits trivial

No comments:

Post a Comment