初学模板
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()…应该有更好的方案吧
题目:编写一个函数模板,棘手表示未知类型迭代器的一对值,找出在序列中出现最频繁的值.
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()…应该有更好的方案吧
相关文章推荐
- jdbcTemplate模板的一些方法初学笔记
- 模板模式的初学
- 初学CodeSmith分享单页DB文档模板
- AC自动机初学(模板)+ HDU 2222
- 初学Codesmith,第一次写模板
- 初学C++中的模板
- 初学动态网页——Django模板系统
- Spring-Boot初学之配置文件application.properties(thymeleaf模板)
- 贴个MyGenerator的NHibernate所需代码模板,降低些初学门槛!
- ATL初学-2 :感悟ATL风格的模板
- C++ STL模板与容器 知识 初学 小结 ( 二 )
- 初学CodeSmith分享单页DB文档模板
- POJ1273 最大流模板题 初学网络流~
- C++ STL模板与容器 知识 初学 小结 ( 三 )
- 初学T4模板
- 初学C++模板
- C++ STL模板与容器 知识 初学 小结 ( 一 )
- 初学smarty模板
- 初学Smarty模板的安装与应用
- 国外web2.0网站模板下载Web Design资源站