将const char *添加到string_view

问题描述

我有一个string_view

std::string_view view;

如何向其附加类似const char *的内容?例如:

std::string_view view = "hello";
view += " world"; // Doesn't work

此外,如何创建具有指定大小的string_view? 例如:

std::string_view view(100); // Creates a string_view with an initial size of 100 bytes

解决方法

std::string_view是对存储在内存中其他位置的现有char[]缓冲区或可访问范围为char的{​​{1}}的只读视图迭代器。您无法将新数据添加到std::string_view

对于您要尝试的操作,您需要使用std::string,例如:

std::string s = "hello";
s += " world";
std::string s(100,'\0');

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...