《C++STL标准程序库开发指南》第一章,类模板简介

本文介绍了C++中的面向对象编程和STL的基础知识,包括类模板、函数模板、成员模板和友元模板的概念。重点讨论了泛型编程的思想,以及在STL中如何运用模板实现普通化程序设计。同时,提到了关键字typename的作用和在类模板中的使用,以及STL的主要组成部分:算法、容器和迭代器。最后,概述了STL提供的不同类型的容器和常用算法。
摘要由CSDN通过智能技术生成

面向过程的程序设计,主要是,考虑解决问题的先后顺序,措施安排等,具有典型的过程性。
面向对象的程序设计,主要是,建立在各种对象基础的软件开发,每一个具有独立特性和相应功能的个体均可以,作为一个对象加以处理。
面向对象(Object Oriented,OO)
文件

头文件<fstream>
ifstream 和 wifstream   用来读取文件
ofstream 和 wofstream	用来将数据写入文件
fstream 和 wfstream		用于读/写文件,wfstream是字读取操作
filebuf 和 wfilebuf  	用来进行实际的字符读写,
ios_base::in			//打开文件,用于读取
ios_base::out			//打开文件,用于改写或者写入
ios_base::ate			//打开文件,用于将文件指针移到文件末尾
ios_base::app			//打开文件,写入时始终添加入尾端
ios_base::trunc			//打开文件,将先前的内容移除
ios_base::binary		//以二进制形式打开文件

文件流状态检查:fail() is_open() eof()

使用临时文件,cstdio库中,char* tmpnam(char* pszname)创建一个临时文件名

#include<iostream>
#include<cstdio>
//TMP_MAX,L_tmpnam变量的值是随机的
void main()
{
   
	using namespace std;
	cout<<"This system can generate up tp"<<TMP_MAX<<"temporary name of up to"<<L_tmpnam<<" characters.\n";
	char pazName[L_tmpnam] = {
   '\0'};
	cout<<"Here are ten name: \n";
	for(int i =0;i<10;i++)
	{
   
		tmpnam(pazName);
		cout<<pszName<<endl;
	}
	return;
} 

一般情况,当程序处理异常时一般调用terminate()函数
当在程序中调用其他命令,或者可执行文件时,可选用system()函数

异常处理(C++异常处理代码是 catch子句)

异常已经发生,当异常被try中的语句抛出时,系统通过查看try块后的catch子句列表,来查找能够处理该异常的catch子句。

C++ STL 定义了标准库异常库 exception,头文件<exception>中,但是异常类exception不能捕捉所有的异常

STL的背后蕴藏着泛型化程序设计(GP)的思想,泛型化,是英语翻译来的,本书作者认为,称"普通"更恰当。

template<class Type>
list stack map等
《STL源码剖析》下一本书

#include<iostream>
using namespace std;
template<class T>
class B
{
   
public:
	static int count;
	static long size;
public:
	static long GetSize()
	{
   
		return size;
	}
	static int GetCount()
	{
   
		return count;
	}
};
template<class T> int B<T>::count =0;
template<class T> long B<T>::size =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值