⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

C++17 std::string_view:高效的字符串引用

掌握string_view的用法、优势及注意事项,避免不必要的字符串拷贝。 · 难度:入门 · +15XP

为什么需要string_view?

std::string_view是一个非拥有型字符串视图,可以引用std::string、C风格字符串或字符数组的一部分。它避免拷贝,常用于函数参数和子串提取。

基本用法

#include <string_view>
#include <iostream>

void print_length(std::string_view sv) { std::cout << sv.size() << ' '; }

int main() { std::string s = "Hello World"; const char* cstr = "C-style"; print_length(s); // 11 print_length(cstr); // 8 print_length("temp"); // 4 std::string_view sv = s.substr(0, 5); // 高效,不拷贝 std::cout << sv << ' '; // "Hello" }

常用操作

方法说明
size() / length()字符串长度
data()底层字符指针(不一定以'\0'结尾)
substr(pos, count)子视图
remove_prefix(n)移除前n个字符
remove_suffix(n)移除后n个字符

注意事项

练习提示

编写一个函数count_words,接受std::string_view,返回其中以空格分隔的单词数量。在main中用多种字符串测试。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 105 篇
0 完成
🔥 0