如何编写返回类型由运行时决定的函数(取决于参数的值?)
How to write function which return types are runtime determined( on the value of argument? )
更具体地说,我想推广boost::range::join的过程,以接受任意数量的boost::range作为参数(通过使用迭代器、省略号或std::vector之类的容器,这在问题中无关紧要),除了返回+类型擦除之外,它还能以什么方式返回计算结果?
C++是一种静态类型的语言。这意味着无法根据函数参数的值来更改函数的返回类型。
但是,您可以实现一个函数模板,该模板根据静态类型和/或参数数量使用不同的返回类型。
您可以创建一个基类。使函数的返回类型成为指向基类的指针。根据参数的不同,可以返回指向派生类实例的指针。
相关文章:
- 将强制转换简化为取决于参数的类型
- cpp 模板专用化,错误说参数 1 的类型为 T,这取决于参数 T
- 模板函数,其中模板参数类型取决于函数参数
- GCC:指定的界限取决于源参数的长度
- 具有尾随返回类型的通用 lambda,具体取决于 C++11 中的可变参数
- 类模板中的std ::数组的大小,具体取决于模板参数
- LIBELAS是否取决于相机参数
- 具有取决于模板参数的方法的模板类
- 模板层次结构中的可选虚拟函数,具体取决于参数
- 约束模板参数取决于传递的函子
- 为什么固定尺寸错误发生取决于默认参数
- C++14 lambda 的默认参数类型推导,具体取决于前面的参数
- 委托构造函数和默认参数,具体取决于其他参数
- 取决于参数的数量,将其返回结构对象,并将其分配给常规结构的对象
- 具有模板参数取决于参数列表
- 返回类型取决于模板参数
- 是否可以定义一个 C++11 可变参数类模板,其可变参数基数取决于整数模板参数
- 返回取决于sizeof的变量类型..参数包
- 模板化结构的友元函数,其参数类型取决于结构的内部
- 变量模板函数,其中返回类型取决于模板参数列表