小编Rob*_*tke的帖子

C++14 中如何检查类是否有指针

我有课程:

struct A { // has no pointer members, POD - it's fine
  int a, b;
  char c;
};

struct B { // has no pointer members, but not POD - it's still fine
  int a, b;
  std::string s;
};

struct C { // has pointer members, it's not fine
  int a,b;
  char* cs;
};
Run Code Online (Sandbox Code Playgroud)

我需要在编译时检测是否有任何类具有 的属性struct C,即具有指针作为成员。

简短的推理:我需要确保用户定义的类型可以通过复制或赋值(例如)或通过在类中struct A提供用户定义的serialize()和方法(例如和)安全地序列化和反序列化到某个缓冲区。deserialize()struct Bstruct c

如果BC没有实现这些方法,那么编译应该失败,但如果A没有这些方法,那么编译应该成功。

更新: …

c++ metaprogramming type-traits c++11 c++14

7
推荐指数
1
解决办法
2065
查看次数

标签 统计

c++ ×1

c++11 ×1

c++14 ×1

metaprogramming ×1

type-traits ×1