首页 > 编程语言 >c++ primer chapter 16.4

c++ primer chapter 16.4

时间:2023-04-01 23:44:22浏览次数:56  
标签:chapter include end cout vi iter 16.4 primer find

/*
#include <iostream>
#include <string>
#include <vector>
#include <list>
using namespace std;
template <typename I, typename T>
I find(I b, I e, const T &v) {
while (b != e && *b != v) {
b++;
return b;
}
}

int main() {
vector<int> vi = {0, 2, 4, 6, 8, 10};
list<string> ls = { "Hello", "World", "!" };

auto iter = find(vi.begin(), vi.end(), 6);
//vector<int> iter = find(vi.begin(), vi.end(), 6);

if (iter == vi.end())
std::cout << "find 6 at position" << std::endl;
else
std::cout << "find 6 at position" << iter - vi.begin() << std::endl;

auto iter1 = find(ls.begin(), ls.end(), "mom");
//list<string> iter1 = find(ls.begin(), ls.end(), "mom");

if (iter == ls.end()) {
std::cout << "can't find mom" << std::endl;
}
else
std::cout << "found mom" << std::endl;

return 0;

}
*/
#include <iostream>
#include <vector>
#include <list>

using namespace std;

template <typename I, typename T>
I find(I beg, I end, T val)
{
auto iter = beg;
for (; iter != end; ++iter)
if (*iter == val)
break;
return iter;
}

int main()
{
vector<int> iv = {1, 2, 3, 4, 5};
list<string> slst = {"dog", "cat", "rat"};

auto p1 = find(iv.begin(), iv.end(), 4);
if (p1 != iv.end())
cout << *p1 << endl;

auto p2 = find(slst.begin(), slst.end(), "rat");
if (p2 != slst.end())
cout << *p2 << endl;

return 0;
}

标签:chapter,include,end,cout,vi,iter,16.4,primer,find
From: https://www.cnblogs.com/pgh79/p/17279711.html

相关文章

  • C++ primer第十五章总结
    1oop的思想是数据抽象继承和动态绑定数据抽象可以将类的接口与实现分离;继承动态绑定,又称运行时绑定2虚函数是基类希望其派生类进行覆盖的函数<1>任何构造函......
  • 深度学习入门9787115485588 Chapter3
    explaintheactivationfunctioninneuralnetworkwithanactualcaseanddemonstrateitinpythoncode Inaneuralnetwork,anactivationfunctionisusedt......
  • C++ primer 第七章记录
    1:void可以指向任何类型的对象,但是不能直接操作所指向的对象*2:常量指针可以指向非常量对象doubledval=3.14;constdouble*cptr=&dval;合法,constdouble*只......
  • 深度学习入门 Chapter2
    What'sperceptronalgorithminventedbyFrankRosenblatt?Theperceptronalgorithmisasupervisedlearningalgorithmforbinaryclassificationofinputdatai......
  • Day 16 16.4 案例分析之对比单线程与多线程
    线程案例:爬取斗图吧表情包图片方案一:单线程版本耗时慢importrequestsfromfake_useragentimportUserAgentimportrandomfromlxmlimportetreeimportosimpo......
  • GO语言学习笔记-测试篇 Study for Go ! Chapter ten- Test
    持续更新Go语言学习进度中......GO语言学习笔记-类型篇StudyforGo!Chapterone-Type-slowlydance2me-博客园(cnblogs.com)GO语言学习笔记-表达式篇Study......
  • [学习笔记]《C++ Primer》第七章 类
    thisthis是常量指针,指向非常量版本的类MyClass*const成员函数(memberfunction)所有成员都必须在类的内部声明,但成员函数体可以定义在类内或类外。->成员函数的调用:调......
  • [Primer] 第 18 章 探讨 C++ 新标准
    第18章探讨C++新标准18.1复习前面介绍过的C++11功能新增longlong和unsignedlonglong类型。使用大括号进行内置数据或对象的初始化,可以不添加等号;也提供......
  • [Primer] 第 16 章 string 类和标准模板库
    第16章string类和标准模板库16.1string类16.2智能指针模板类要创建智能指针对象,必须包含头文件<memory>。离开代码块后,智能指针将自动释放内存。声明只能指针......
  • GO语言学习笔记-接口篇 Study for Go ! Chapter six - Interface
    持续更新Go语言学习进度中......GO语言学习笔记-类型篇StudyforGo!Chapterone-Type-slowlydance2me-博客园(cnblogs.com)GO语言学习笔记-表达式篇Study......