C++ Primer学习笔记
文章平均质量分 77
C++ Primer是每个C++程序员都应该反复研读的,本人也是菜鸟,此栏目记录一些自己学习的总结。
风雨也无晴
专注于嵌入式开发、ARM、DSP、FPGA、算法研究。
喜欢研究网络安全、电子技术。希望结交志同道合的好朋友。
展开
-
C++ Primer笔记14_面向对象程序设计
OOP概述面向对象程序设计(object-oriented programming)的核心思想是数据抽象、继承和动态绑定。1.继承:类的一种层次关系,通常在层次关系的根部有一个基类,其他类则直接或间接的继承基类而来。这些继承而来的类称为派生类。原创 2014-06-16 20:57:13 · 1374 阅读 · 0 评论 -
C++ Primer笔记13_运算符重载_总结
总结:1.不能重载的运算符: . 和 .* 和 ?: 和 :: 和 sizeof 和 typeid2.重载运算符有两种基本选择: 类的成员函数或者友元函数, 建议规则如下:运算符建议使用所有一元运算符成员函数= () [] ->必须是成员函数+= -= /=原创 2014-06-13 10:30:03 · 1209 阅读 · 0 评论 -
C++ Primer笔记12_运算符重载_递增递减运算符_成员访问运算符
1.递增递减运算符C++语言并不要求递增递减运算符必须是类的成员。但是因为他们改变的正好是所操作对象的状态,所以建议设定为成员函数。对于递增与递减运算符来说,有前置与后置两个版本,因此,我们应该为类定义两个版本的递增与递减运算符。原创 2014-06-12 14:49:12 · 1705 阅读 · 0 评论 -
C++ Primer笔记11_运算符重载_算术/关系运算符_下标运算符
1.算术/关系运算符 通常情况下,算术与关系运算符定义成非成员函数以允许左右侧运算对象进行转换。因为这些运算符一般不需要改变运算对象的状态,所以形参都是常量的引用。原创 2014-06-11 08:51:26 · 1448 阅读 · 0 评论 -
C++ Primer笔记10_运算符重载_赋值运算符_输入/输出运算符
1.赋值运算符 先以赋值运算符引入后面要说的运算符重载,上一节说了构造函数、拷贝构造函数;一个类要想进行更好的控制,需要定义自己的构造函数、拷贝构造函数、析构函数、当然,还有赋值运算符。常说的三大函数就是指拷贝、赋值、析构。 如果一个类不定义自己的赋值运算符,会自己生成一个默认的赋值运算操作,这个默认的赋值运算满足一般类的需求。但是当类的功能、作用逐渐完善时,就原创 2014-06-10 09:13:23 · 1615 阅读 · 0 评论 -
C++ Primer笔记9_构造函数_拷贝构造(深拷贝与浅拷贝)
1.构造函数:构造函数是一个特殊的、与类同名的成员函数,用于给每个成员设置适当的初始值。构造函数不能有返回值,函数名为类名。缺省构造函数时,系统将自动调用该缺省构造函数初始化对象,缺省构造函数会将所有数据成员都初始化为零或空。缺省构造函数是不带参数的。创建一个对象时,系统自动调用构造函数。总结: 1.构造函数可以重载原创 2014-06-09 08:04:32 · 2571 阅读 · 1 评论 -
C++ Primer笔记8_动态内存_智能指针
1.动态内存C++中,动态内存管理是通过一对运算符完成的:new和原创 2014-06-08 12:36:35 · 1266 阅读 · 0 评论 -
C++ Primer笔记7_STL之关联容器
关联容器与顺序容器不同,关联容器的元素是按关键字来访问和原创 2014-06-07 10:54:00 · 1124 阅读 · 0 评论 -
C++ Primer笔记6_STL之泛型算法
1.泛型算法:大多数算法定义在头文件algorithm中,标准库还在头文件numeric中定义了一组数值泛型算法举例:find函数用于找出容器中一个特定的值,有三个参数int val = 10;//val为我们需要查找的值auto result = find(vec.begin(), vec.end(), val):cout find将前两个表示范围的迭代器内的元素与va原创 2014-06-06 12:25:56 · 1591 阅读 · 0 评论 -
C++ Primer笔记5_STL之顺序容器
标准模板库。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。每一个C++程序员都应该好好学习STL。大体上包括container(容器)、algorithm(算法)和iterator(迭代器),容器和算法通过迭代器可以进行无缝连接。原创 2014-06-05 16:30:02 · 1320 阅读 · 0 评论 -
C++ Primer笔记4_类的静态成员_IO库
1.类的静态成员static成员变量与函数 static成员变量:必须在类外初始化;(const或引用类型变量必须在构造函数初始化列表里初始化) static成员函数:不依赖于类,相当于类里的全局函数(可以由该类对象调用,也可以 类名::函数名()的形式调用)不包含this指针,不能声明为const,声明为const表示不会改变对象,而stati原创 2014-06-04 15:10:11 · 1287 阅读 · 0 评论 -
C++ Primer笔记3_默认实参_类初探_名字查找与类的作用域
1.默认函数实参在C++中,可以为参数指定默认值,C语言是不支持默认参数的,Java也不支持!默认参数的语法与使用:(1)在函数声明或定义时,直接对参数赋值。这就是默认参数;(2)在函数调用时,省略部分或全部参数。这时可以用默认参数来代替。注意事项:(1)函数默认值只能赋值一次,或者是在声明中,或者是在定义中原创 2014-06-04 09:37:46 · 1382 阅读 · 0 评论 -
C++ Primer笔记2_四种类型转换_异常机制
命名的强制类型转换:有static_cast、dynamic_cast、const_cast、reinterpret_cast四种。dynamic_cast支持运行时类型识别。static_cast:该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。原创 2014-06-03 14:09:20 · 1535 阅读 · 0 评论 -
C++ Primer笔记1_转义字符_标准库类型string_标准库类型vector
1.转义字符:\x后紧跟1个或多个十六进制数字、或\后紧跟1、2、3个八进制数字,其中数字部分是字符对应的数值。#include using namespace std;int main(){ bool b = 10; bool b1 = true; bool b2 = false; cout << b << endl; cout << b1 << endl; co原创 2014-06-03 09:57:41 · 1591 阅读 · 0 评论