C++标准程序库 学习笔记 第二章 && 第三章
来源:互联网 发布:fontawesome mac 编辑:程序博客网 时间:2024/05/21 22:48
第二章 C++及标准程序库简介
1.通过在成员名前加上 typename,可以告诉编译器将成员当作类型. C++规定,除了以typename修饰之外.template内的任何标识符号都被视为一个值而非一个型别.
template <class T>class MyClass{typename T::SubType *ptr;};
有typename 则指定T::SubType是一个类型,否则 它则 是一个值.
就是在一个类里面,还继续用template.. 所以在里面又可以匹配N多种类型..
template <class T>
class MyClass{
template <typename U>
void assign( U ); //U就可以很多类型了 仅供理解
};
template <class T>class MyClass{private:T m_value;public:template <class X>//这个形参类型够深奥!! 效果就是形参可以表示N多类型,然后再通过GetValue得到转换后的m_vlauevoid assign(const MyClass<X> &x){m_value = x.GetValue();}T GetValue(){return m_value;}};
-------------------------------------------------------------------------------------
第三章 一般概念
1. 命名空间
C++标准程序库中所有标识符都在std命名空间内.
2.异常类型
1所有异常,都派生自基类 exception.
1> 语言本身的异常
bad_alloc new失败时异常
bad_cast 多太转换失败时异常
bad_typeid 指针为0,为NULL时异常
bad_exception 异常规格之外的异常,该异常会调用 unexpected()
2>C++标准程序库发出的异常
总是派生自logic_error
invalid_argument 无效参数异常
length_error 超越了长度极限
out_of_range 不在预期范围内
domain_error 专业领域内的异常
I/O 标准程序库异常:
ios_base::failure 数据流错误或遇到文件尾时异常
3>程序作用域之外发出的异常
派生自 runtime_error RE,运行时错误
range_error overflow_error underflow_error
exception 是一个异常类 ,里面只有一个成员函数 what()
抛出异常 throw out_of_range("out of range le");
不能抛出exception 只能抛出 logic_error及其子类, runtime_error及其子类
3 配置器
不懂,以后补上.
- C++标准程序库 学习笔记 第二章 && 第三章
- 《C++标准程序库》学习笔记 -- 第二章
- 【C++标准程序库】第二章
- 《C++标准程序库》第二章摘录与笔记
- 《C++标准程序库》第二章-C++及其标准程序库简介
- 《C++标准程序库》第三章摘录与笔记
- C++标准程序库 学习笔记 第四章 通用工具
- C++标准程序库 学习笔记 第六章 容器
- C++标准程序库 学习笔记 第七章 迭代器
- C++标准程序库 学习笔记 第八章 仿函数
- C++标准程序库 学习笔记 第九章 STL算法
- C++标准程序库 学习笔记 第十章 特殊容器
- C++标准程序库学习笔记
- C++Primer 学习笔记 第三章(标准库类型)
- C++primer学习笔记-第三章标准库类型
- C++标准程序库 学习笔记 第五章 STL(标准模板库概述)
- C++标准程序库学习笔记(一)
- C++标准程序库(学习笔记)
- 重载操作符++,区别前置和后置
- (C++)cout格式化输出示例
- TerraGate版安装使用说明和IIS发布FLY
- 修改tabbar 背景图标
- 从DLL中输出LIB的方法
- C++标准程序库 学习笔记 第二章 && 第三章
- Ubuntu快捷键详细版
- 工作笔记2
- root_android_open_dev
- jquery 元素和方法解释 .
- MySQL 数据库导出SQL出现乱码解决
- PhoneGap API中文帮助文档——File(文件)
- CVS 删除 文件 (ZZ)
- SQL CAST