更具体地说,假设我想概括 boost::range::join 的过程以接受任意数量的 boost::range 作为参数(通过使用迭代器、省略号或像 std::vector 这样的容器,它确实在问题中无关紧要),除了 return + type erasure 之外,它还能以什么方式返回它的计算结果?
最佳答案
C++ 是一种静态类型语言。这意味着无法根据参数的值更改函数的返回类型。
但是,您可以实现一个函数模板,它根据静态类型和/或参数数量使用不同的返回类型。
关于c++ - 如何编写返回类型由运行时确定的函数(根据参数的值?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23157869/