axe*_*axe 8 c++ memcpy type-traits memcmp visual-c++
如何检查C++类型是否可以轻易复制?我有一个类,它使用具有指定模板类型T的memcpy和memcmp函数,我想为类型启动断言,使用memcpy复制是不安全的.有没有办法(使用现有标准)?
不,在C++ 98/C++ 03中不可能.这样的事情是为什么<type_traits>被添加到C++ 0x.其中一些功能<type_traits>可以在C++ 03中实现,通常使用SFINAE原则,但是其中一些功能std::is_trivially_copyable<T>只需要内置的编译器支持.
在boost中有可用的类型特征.
但是,你是在浪费你的时间memcpying一个类型不是会比你的优化器将与拷贝构造函数产生,如果该类型更快的是平凡的可复制.只需使用复制构造函数.
| 归档时间: | 
 | 
| 查看次数: | 1917 次 | 
| 最近记录: |