【发布时间】:2012-11-04 10:46:51
【问题描述】:
#include <iostream>
#include <new>
#include <type_traits>
template<typename T, typename U>
struct promote
{
typedef typename std::conditional<(sizeof(T) > sizeof(U)), T, U>::type type;
};
template<class U, class V>
class risk_implementation
{
public:
template<class T>
risk_implementation(T const &t)
{
new(storage_) T(t);
}
//easier to do some test with public
typedef typename promote<U, V>::type Bigger;
typedef typename std::aligned_storage<sizeof(Bigger), alignof(Bigger)>::type storage_type;
storage_type storage_[1];
};
这种实现方式很丑,实际情况下不会用 我只想知道使用像这样的新展示位置是否安全?谢谢
多亏了你们,我稍微修改了一下密码,现在这样安全吗?
【问题讨论】:
-
看看this question。好像也是重复的。
标签: c++