如何编写返回类型由运行时决定的函数(取决于参数的值?)

How to write function which return types are runtime determined( on the value of argument? )

本文关键字:参数 取决于 函数 返回类型 运行时 决定 何编写      更新时间:2023-10-16

更具体地说,我想推广boost::range::join的过程,以接受任意数量的boost::range作为参数(通过使用迭代器、省略号或std::vector之类的容器,这在问题中无关紧要),除了返回+类型擦除之外,它还能以什么方式返回计算结果?

C++是一种静态类型的语言。这意味着无法根据函数参数的来更改函数的返回类型。

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

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