使用范围/视图而不是模板的通用编程? [英] Generic programming with ranges/views not templates?

查看:47
本文介绍了使用范围/视图而不是模板的通用编程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望有接受任何固定类型容器的函数。例如,将同时接受std::array<float,1>std::array<float,2>的函数。

我原以为使用Range可以做到这一点,但我意识到我的理解相当肤浅。

是否可以在没有模板的情况下实现?


编辑:我们是否可以使用范围库来定义一个类型,该范围库将执行与SPAN相同的操作,但将用于非连续容器?也许我的问题表达得不对,我的意思可能是视野而不是容器。

推荐答案

对于连续范围,您可以使用std::span(C++20):

void foo(std::span<float>)
{
// ...
}

这篇关于使用范围/视图而不是模板的通用编程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆