资源描述:
《通用(普适)程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、GenericProgramming通用(普适)程序设计程序能处理各种数据类型NamespaceSTL(StandardTemplateLibrary)容器(containers)遍历子(iterators)算法(algorithms)函数对象(functionobjects)(namespace)名空间名的有效范围(scope)为了解决名冲突,可以把名定义到某个名字空间中,再用::引用该空间的名namespacewang{inti;intfib(){return0;};}voidmain(){inti;wang::i=5;i=wang::fib();}没有声
2、明命名空间的标识符,无名命名空间namespace(cont.)usingnamespacensname;可以将nsname名空间的名包含到当前scope中:namespacewang{inti;intfib(){return0;};}usingnamespacewang;//orusingwang::fib;voidmain(){//inti;如果重新定义则覆盖i=5;i=fib();}namespace(cont.)新的C++标准将C++标准库中的所有名收集到std名空间中。原标准的头文件与此标准不兼容,因此新标准使用新的头文件,即原头文件名去掉后缀。u
3、singnamespacestd;cout<<…std::cout<<…usingstd::cout;cout<<…containersinstandardC++libcontainers(集合类,容器类,容纳一组对象):homogeneous(同类),heterogeneous(异类)sequential(顺序),associative(关联)向量(vector),双端队列(deque),链表(list),集(set),多重集合(multiset),映射(map),和多重映射(multimap)stack,queue,priorityqueueiterators(遍
4、历子)algorithms(算法,表现为函数模板。常用算法库:查找,排序,比较等)adaptors(接口类,适配子。容器适配子用来扩展七种基本集合类。遍历子适配子,函数对象适配子)interfacesofcontainersoperators==,!=,>,>=,<,<=,=(ref)iteratorsbegin(),end(),rbegin(),rend()functionssize(),max_size(),swap,emptyinterfacesofcontainers(cont.)specifictosequentialcontainers:modifie
5、rs:push_front(),push_back(),insert(),operator=pop_front(),pop_back,erase(L1,L2=L1),clear()iteratorsinput,output,forward,bidirectional,randomaccessothernon-modifiersfront(),back(),operator[]containerexamplesvector(数组类)list(链表类)deque,stack,…iterators遍历子(迭代器)相当于集合类的指针STL的每一个容器类模版中,都定义了一组对
6、应的遍历子类。ExamplesAlgorithmsinC++libmutatingnon-mutatingsearchingsorting上机练习编译并理解课堂及教材范例在复数数组排序和查找范例中,改变排序和查找的条件。