C ++避免转换

时间:2019-10-06 12:34:49

标签: c++ embedded

我正在使用C ++ 14在嵌入式平台上进行开发,并且正在尝试设计用于任务到任务通信的事件总线。我已经按层次结构进行了构造,以使超类的类型为Event *,而我的子类的类为按钮事件,日志记录,通讯等。现在,由于我正在使用如此小的嵌入式平台(STM32),我只想在事件总线中存储Event *类型的数组列表,当一个任务提交一个事件供另一个任务使用时,我要做的就是将Event *转换为适当的类型以便使用。但是,我想避免使用大量的case语句来找出将Event *转换为哪种类型的情况,因为当我向系统中添加更多用户事件时,这将是另一回事。

C ++ 14提供了哪些功能来避免这种情况。我目前正在阅读typeid()运算符。我也禁用了RTTI。

谢谢

1 个答案:

答案 0 :(得分:0)

这是我对您的问题的简单解决方案:

url = 'https://analyticsreporting.googleapis.com/v4/userActivity:search'

payload = {
    "viewId": "xxx",
    "user": {
       "type": "CLIENT_ID",
       "userId": "xxx"
      },
"dateRange": {
    "startDate": "2019-06-13",
    "endDate": "2019-10-05",
   }
  }

hed = {
   'Authorization': 'Bearer ' + access_token,
   'Content-type': 'application/json'
 }

  r = requests.post(url, data=payload, headers=hed)

这是没有 RTTI 和其他可以帮助您的间接操作的最简单解决方案

我希望对您有所帮助;)