xml*_*lmx 2 c++ class type-traits c++11
std::is_trival<T>::value可以确定T类是否是微不足道的.但是,我想不出需要这些信息的场景.
有什么例子吗?
我的一些想法:
如果T类是微不足道的,它是否意味着T可以安全地复制,memcpy如下所示:
T t1, t2;
memcpy(&t1, &t2, sizeof(T));
Run Code Online (Sandbox Code Playgroud)
?
如果一个类型是微不足道的,它可以,例如,复制memcpy.这是用作std::atomic模板参数的用户定义类型的要求.也就是说,对于一个用户定义的类型T,atomic<T>被允许(并且,对于较大的类型,所需的)来实现从类型的对象分配T到类型的对象atomic<T>与memcpy.同样,在需要时,测试是否相等memcmp.
使用这些C函数而不是C++运算符的原因是原子操作不会对用户代码进行任何调用.这样做可能会导致无辜的代码出现神秘的死锁.