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

时间:2020-10-08 19:09:20

标签: c++ conditional-statements auto

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

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

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 ++类型或类型转换?

谢谢。

0 个答案:

没有答案