template 就是“通用模具”,能同时给 int、double、string 用。

 

基础版:带一个参数

 注释:按< >里面给的类型去区分,T就会转变成为那一个类型

 

进阶版:两个参数(可以更多,用逗号分隔开)

 注释:< >按类型顺序分配T1,T2

实操版const迭代器举例

Q: 开两个参数的意义在哪?

A:

第一个选项  T :决定这个迭代器要处理的元素类型(比如是存整数、字符串,还是自定义的类)。

第二个选项  Ref :决定迭代器解引用后返回的权限类型(是能修改元素,还是只能读)。

所以

如果只给一个参数,就没法同时控制“装什么”和“能不能改”这两个需求。
 用两个参数,就能用同一个模板,同时实现“普通迭代器(能改)”和“const迭代器(只读)”,不用写两份几乎一样的代码

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐