C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串find 应用案例:计算子字符串出现了多少次 官方文档对 find 的描述 https://en.cppreference.com/w/cpp/string/basic_string/find 反向查找 rfind • find 是从字符串头部开始查找,返回第一次出现的地方。 • 而 rfind 则是从尾部开始查找,返回最后一次出现的地方 。 • 例如 “ helloworld”.rfind(‘l’) find_first_not_of 寻找不在集合内的字符 举一反三: find_last_of 、 find_last_not_of • find 的反向版本是 rfind 。 • find_first_of 的反向版本是 find_last_of 。 • find_first_not_of 的反向版本是 find_last_not_of 。 replace 替换一段子字符串 • replace(pos, len, “str”)0 码力 | 162 页 | 40.20 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程• 但是却没有出错,这是因为模板没有被调用,所以不会被实际编译! • 而只有当 main 调用了这个函数,才会被编译,才会报错! • 用一个假模板实现延迟编译的技术,可以加快编译的速度,用于代理模式等。 模板函数:一个例子 • 比如,要打印任意一个 vector : 模板函数:配合运算符重载 • 实现用 std::cout << a 打印任意 vector : 模板函数:大家学废了吗! decltype(auto) p = func(); • 会自动推导为 func() 的返回类型。 • 和下面这种方式等价: • decltype(func()) p = func(); • 在代理模式中,用于完美转发函数返回值。比如: • decltype(auto) at(size_t i) const { • return m_internal_class.at(i); } using0 码力 | 82 页 | 12.15 MB | 1 年前3
共 2 条
- 1













