我有一个 C 字符串 ( const char *
),我想将其转换为 C++20 范围 (a forward_range
) 以对其应用一些标准算法。
我不想使用,std::string_view
因为我不想计算它的长度(字符串可以很长,我只关心前几个字符)。幸运的是,aforward_range
不需要提前知道它的长度。
我该怎么做呢?我可以编写一个自定义迭代器,但希望有一种更简单的方法。
我有一个 C 字符串 ( const char *
),我想将其转换为 C++20 范围 (a forward_range
) 以对其应用一些标准算法。
我不想使用,std::string_view
因为我不想计算它的长度(字符串可以很长,我只关心前几个字符)。幸运的是,aforward_range
不需要提前知道它的长度。
我该怎么做呢?我可以编写一个自定义迭代器,但希望有一种更简单的方法。
相反,您可以为空终止字节字符串编写自定义哨兵类型