加载中...
Hello World 函数版
第1节:初学C++,应该学什么?
第2节:《白话C++》练的什么“功”?
第3节:《白话C++》练的什么“武”?
第4节:打开浏览器,线上玩转C++
第5节:逐字逐句,深入理解C++最小例程
第6节:做一个“会”犯错误的程序员
第7节:Hello World 中文版
第8节:Hello World 函数版
第9节:Hello World 交互版
第10节:Hello World 分支版
第11节:Hello World 循环版
第12节:Hello Object 生死版.上
第13节:Hello Object 生死版. 下
课文封面

借助 Hello (std::string_view XXX) 函数,快速向你心目中的女神问好。(本课有福利)

视频

函数简述

函数用于封装程序中需要反复执行的事情。事情每一次执行时,所需要的初始数据的变化,由函数参数体现。

定义函数时所写的参数,称为“形参”,即形式参数;而调用函数时,所传入的,称为“实参”,即实际参数。

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"); }