基于输入数据创建 STL 向量 - 标量或复杂类型
Create STL Vector based on input data - scalar or complex types
我遇到一种情况,我想创建一个 STL 向量作为vector<float>
或vector<complex<float> >
。程序将根据输入在运行时确定数据格式。
然而,如果没有大量的 if/else 语句,这似乎是不可能的。这就是我要做的。显然这不起作用 b/c typedef 是 if/else 的本地。
if (INPUT_IS_REAL)
typedef TYPE float;
else
typedef TYPE complex<float>;
vector v1<TYPE>;
vector v2<TYPE>;
.....
可能的解决方案:
if (INPUT_IS_REAL)
code_path<float>();
else
code_path<complex<float>>();
类型在编译时定义。在执行期间无法更改类型。要处理两种不同的数据类型,您需要两段不同的代码;当您知道正在处理的输入时,您可以决定使用哪个。
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 为 2D 向量类创建标量乘法运算符
- CUDA:复杂标量 *双稀疏矩阵 *双向量
- 如何在C++中乘以向量和标量?
- 基于输入数据创建 STL 向量 - 标量或复杂类型
- 用程序求向量等式中的标量
- C++返回一个向量(将 int 转换为非标量类型)
- 特征:从向量中减去标量
- 我应该如何使用表达式模板来实现数学向量类的标量乘法
- 以C++为单位将向量乘以标量
- 2个向量的标量乘Eigen
- STL向量除以标量操作符重载
- 如何使用+=运算符实现标量和向量相加
- 用标量有效地乘大复数向量