C ++-根据输入,从内存读取的数据具有不同的类型

问题描述

我需要从内存中读取数据,如果每次都可以使用不同的类型,并且在比较其他两个变量时我知道所需的类型。 条件结束后,除了一个分配以外,存在几乎相同的循环。

如果我在条件中定义变量,则不能超出范围使用它。 我试图避免重复代码。 (代码示例比我使用的示例短)

if (size == x) {
   auto data = reinterpret_cast<int *>(in->GetData());
} else {
   auto data = reinterpret_cast<float *>(in->GetData());
}   

for (int i = 0; i < batch; i++) {
   idx = rand()%total_size;
   int n = rand()%c;
   if (size == x) {
      labels[i] = n;
   } else {
      labels[i * c + n] = 1;
   }
}

是否可以使用C ++类型或类型转换?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)