Joh*_*itb 4 c++ pointers c++11
以下是什么结果?它是不正确的,未定义的行为还是定义良好且状态良好的?
struct A {};
std::pointer_traits<A> x;
Run Code Online (Sandbox Code Playgroud)
我问的原因是因为我想知道好奇心,因为我想知道一个任意类型是否是一个指针.有了这个我也意味着包括shared_ptr和朋友.我想知道是否存在类型特征(谓词),或者,如果不是,我是否可以使用pointer_traits并检测是否声明了element_type.
它表示它从20.6.3p1开始是不正确的,因为它没有element_type并且不是类模板实例化
typedef见下面的element_type;
键入:Ptr :: element_type如果存在这样的类型; 否则,T如果Ptr是表单的类模板实例化
SomePointer<T, Args>,其中Args是零个或多个类型参数; 否则,专业化是不正确的.
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |