借助 Hello (std::string_view XXX) 函数,快速向你心目中的女神问好。
视频
ffls08-HelloWorld-函数版
函数简述
函数用于封装程序中需要反复执行的事情。事情每一次执行时,所需要的初始数据的变化,由函数参数体现。
定义函数时所写的参数,称为“形参”,即形式参数;而调用函数时,所传入的,称为“实参”,即实际参数。
std::string_view 简述
string_view 是 C++17引入到标准库中的新类型,可称为 “字符串观察者” 或 “字符串视图”,前者更直观,更好理解。
string_view 本身不包含字符串内容,它只能用于观察(或称“偷看、偷窥”)别的字符串的内容,但只能看,不能修改字符串内容。
string_view 可以“偷看”的字符串类型,包括(但不限于) std::string 和 C 风格的 char * 。在本课堂中,对 Hello (std::string_view XXX) 函数的调用,每次传入的字符串,都是后者,即C风格的 char * (字符指针)。
string_view 只是“偷看”,而不实际复制字符串内容,因此,当一个函数只需要读取外部的字符串内容时,特别适合采用 string_view 作为入参。而一个字符串实体,可以有多个字符串观察者,避免了大量复制内存。因此,相比直接使用 std::string 来不断复制原有的字符串,再传递给函数,使用 string_view 可以传得做到又快又省内存。
代码
#include <iostream>
#include <string_view>
// 我的第一个函数
void Hello(std::string_view XXX)
{
std::cout << "你好," << XXX << "!" << std::endl;
}
int main()
{
Hello("志玲");
Hello("幂幂");
Hello("冰冰");
Hello("热巴");
Hello("真木阳子");
Hello("井川遥");
Hello("Lily Collins");
}