首页 > 解决方案 > 是否可以在不知道成员名称的情况下检测一个类是否具有具有某种类型/返回类型的成员?

问题描述

我想检测某个类是否具有特定类型/返回类型的成员变量/函数,而不知道这些变量的名称(没有固定的命名格式)。

例如:

struct Wheel{
    int wheel_size;
}

struct Bike{
    private:
    Wheel weel_1;
    Wheel weel_2;

    public:
    Wheel get_wheel_1();
    Wheel get_wheel_2();
}

是否可以在不知道这些成员名称的情况下确定 Bike 是否具有 Wheel 类型的成员或返回类型 Wheel 的函数?

背景: 我正在开发一个开源自动驾驶仪项目。对于通信消息,我们需要设置时间戳以进行同步(此处指定了设置消息时间戳的代码)

有时这些消息有嵌套消息,并且每个嵌套消息的时间戳也应该更新。所以我想检查一条消息是否有嵌套消息,如果有,我应该更新外部和内部消息/消息的时间戳。

注意:消息的 C++ 代码是从消息定义文件自动生成的。

标签: c++c++11

解决方案


推荐阅读