相关疑难解决方法(0)

什么是string_view?

string_view是C++ Library Fundamentals TS(N3921)中添加到C++ 17中的一个提议特性

据我所知,它是一种代表某种字符串"概念"的类型,它是任何类型的容器的视图,可以存储可视为字符串的东西.

  • 这是正确的吗 ?
  • 规范const std::string&参数类型应该 变成string_view吗?
  • 还有另一个重要的问题string_view需要考虑吗?

c++ fundamentals-ts string-view c++17

142
推荐指数
2
解决办法
5万
查看次数

boost :: string_ref和boost :: string_view之间的区别

Boost提供了两种不同的实现string_view,它们将成为C++ 17的一部分:

  • boost::string_refutility/string_ref.hpp
  • boost::string_viewcore/string_view.hpp

这些之间有什么重大差异吗?哪个应该是首选的?

注意:我注意到在Boost 1.61中,boost :: log已经弃用了string_ref而支持string_view; 也许这是一个指标?(http://www.boost.org/users/history/version_1_61_0.html)

boost string-view

12
推荐指数
2
解决办法
5879
查看次数

在C++ 11中,将参考/指针返回到std :: string中的位置的最高性能是什么?

我正在构建一个文本解析器,std::string用作字符串的核心存储.

我知道这不是最优的,编译器内部的解析器使用优化方法.在我的项目中,我不介意失去一些性能以换取更清晰和更容易的维护.

一开始我在内存​​中读取了一个巨大的文本,然后我扫描每个字符以构建一组有序的标记,它是一个简单的词法分析器.目前我std::string用来表示令牌的文本,但我想通过使用引用/指针到原始文本来改进这一点.

根据我的阅读,返回并保持迭代器是一种不好的做法,引用std::string内部缓冲区也是一种不好的做法.

关于如何以"干净"的方式实现这一目标的任何建议?

c++ stdstring c++11

7
推荐指数
2
解决办法
736
查看次数

标签 统计

c++ ×2

string-view ×2

boost ×1

c++11 ×1

c++17 ×1

fundamentals-ts ×1

stdstring ×1