您的位置:首页 > 其它

初学模板

2008-06-20 19:52 106 查看
写了几个实现差不多功能的函数,然后发现它们的唯一区别就是形参或返回值的数据类型不一样,我很懊恼,又是大量代码重复.幸运的是,C++提供了模板功能,可以很方便地解决这个问题.

题目:编写一个函数模板,棘手表示未知类型迭代器的一对值,找出在序列中出现最频繁的值.

1// 16.12

2#include <stdafx.h>

3#include <iostream>

4#include <string>

5#include <vector>

6#include <map>

7#include <utility>

8using namespace std;

9

10

40

41template<typename T>

42typename T::value_type FindExistsMost(T beg,T end) // 我怎么知道有value_type这个类型成员???

43

68int main(int argc,char* argv[])

69
1. 对于初学者,比如我,如果能先具体化再抽象成模板,可能会更具效率.

2. 有一个难点就是关于类的类型成员的,我写的时候不知道迭代器有value_type这个类型成员,而且VS的代码自动提示里不显示类型成员(不太确定哦????),初学者暂时先会基本的应用吧,更全面的内容会慢慢充实的

3. vector<int> iVec(a,a+7);这样初始化不太好,定义整型常量好像帮助也不大,但是又没有a.size()…应该有更好的方案吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: