STL学习笔记1
来源:互联网 发布:jre-7u9-windows-x64 编辑:程序博客网 时间:2024/06/05 16:11
1.
#include<iostream>#include<vector>#include<iterator>using namespace std;template<class T, class D>class Member{public:Member(T t, D d): name(t), sal(d){}void print();private:T name;D sal;};template<class T, class D>void Member::print(){cout<<name<<" "<<sal<<endl;}//====================================================int main(){typedef Member<string,double> M;vector<M> v;v.push_back(M("Linda",75000));v.push_back(M("Robert",60000));vector<M>::iterator it = v.begin();cout<<"Entire vector:"<<endl;while(it!= v.end())(it++)->print();cout<<endl;cout<<"Return form front()"<<endl;v.front().print();return 0;}
编译这段代码会出现如下错误
test1.cc:20: error: 鈚emplate<class T, class D> class Member?used without template parameters
test1.cc: In function 鈜oid print()?
test1.cc:22: error: 鈔ame?was not declared in this scope
test1.cc:22: error: 鈙al?was not declared in this scope
[root@localhost stl.test]#
[root@localhost stl.test]#
提示test1.cc:20: error: 鈚emplate<class T, class D> class Member?used without template parameters
没有template parameters
修改代码
template<class T, class D>
void Member<T, D>::print()
template<class T, class D>void Member<T, D>::print(){cout<<name<<" "<<sal<<endl;}这样就通过编译了
输出结果:
Entire vector:
Linda 75000
Robert 60000
Return form front()
Linda 75000
2.
iterator erase(iterator _First, iterator _Last);函数的_Last 是指要删除段最后一位的下一位,是c++的半开区间[ )。
- stl学习笔记1
- STL学习笔记1
- STL(学习笔记1-STL巡礼)
- C++ STL学习笔记(1)
- STL学习笔记1 List
- Effective STL 学习笔记<1>
- STL学习笔记 1 _type_traits
- STL学习笔记-->初识STL
- STL学习笔记--初识STL
- STL学习笔记1— —STL简述
- STL学习笔记1—概述
- STL学习笔记1(CArray与vector)
- stl之顺序容器学习笔记1
- stl之关联容器学习笔记1
- stl之顺序容器学习笔记1
- stl之关联容器学习笔记1
- STL学习笔记1(CArray与vector)
- 【Effective STL】条款1-5学习笔记
- linux ADSL 安装
- Socket编程入门---TCP篇
- LINUX多线程互斥量和读写锁区别
- 主对话框类变成CAboutDlg
- 安卓代码 保存 无价值
- STL学习笔记1
- struts中的Form总结
- PHP开发工具ZendStudio下Xdebug工具使用问题
- 线程----BlockingQueue
- 编译output-example.c
- ALV与内存数据同步更新
- 手把手教你Testcomplete_深入分析TestComplete名称映射
- 随笔
- 感悟人生 - 佛家经典语录