c++ - 如何编写返回类型由运行时确定的函数(根据参数的值?)

标签 c++ boost

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

最佳答案

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

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

关于c++ - 如何编写返回类型由运行时确定的函数(根据参数的值?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23157869/

相关文章:

c++ - 为什么写 `!!x` ,什么时候写 `x` 呢?

c++ - 虚拟 ASIO 服务回调?

c++ - 通过指向派生类的基指针 boost 序列化

multithreading - 在 Linux SMP 上 boost 线程和不存在的 boost

c++ - 通过引用使用 vector<int>::iterator 但有错误

Arduino Uno 的 C++ 调度程序

如果 open() 在另一个类方法中,则 C++ ofstream 无法写入

c++ - Igraph 特征向量中心性运行时错误 c++

c++ - 将 lambda 作为参数传递 - 通过引用或值?

c++ - boost::variant 的默认访问者函数