如何编写返回类型是运行时确定的函数(关于参数的值?)

时间:2014-04-18 16:08:54

标签: c++ boost

更具体地说,假设我想将boost :: range :: join的过程概括为接受任意数量的boost :: range作为参数(通过使用迭代器,省略号或某些容器,如std :: vector,它确实如此)在问题中无关紧要),除了返回+类型擦除之外,它还能以何种方式返回计算结果?

2 个答案:

答案 0 :(得分:2)

C ++是一种静态类型语言。这意味着没有办法根据它的参数改变函数的返回类型'

但是,您可以实现一个函数模板,该模板使用基于静态类型和/或参数数量的不同返回类型。

答案 1 :(得分:0)

您可以创建基类。使函数的返回类型成为指向基类的指针。根据参数,您可以返回指向派生类实例的指针。