C++ Primer(第五版)学习笔记_6_标准模板库_set集合容器
Set集合容器实现了红黑树(Red-BlackTree)的平衡二叉检索树的数据结构,在插入元素时,它会自动调整二叉树的排序,把该元素放到适当的位置。
(1)确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值;
(2)另外,还得确保根节点左子树的高度与右子树的高度相等。这样,二叉树的高度最小,...
分类:
编程语言 时间:
2015-07-13 14:12:47
阅读次数:
140
特殊的工具和技术--优化内存分配引言: C++的内存分配是一种类型化操作:new为特定类型分配内存,并在新分配的内存中构造该类型的一个对象。new表达式自己主动执行合适的构造函数来初始化每一个动态分配的类类型对象。 new基于每一个对象分配内存的事实可能会对某些类强加不可接受的执行时开销,这种类可能...
分类:
编程语言 时间:
2015-07-12 12:42:24
阅读次数:
153
第二章是变量和基本类型2.1 基本内置类型2.1.1 算术类型a、C++相比C 多了几个算术类型 wchar_t, char16_t, char32_t
其中, wchar_t 是宽字符, char16_t, char32_t 是unicode字符, 问题来了, 宽字符和unicode有什么区别呢?
打开百度一下,你就不知道宽字符 ,我们可以知道
用多个字节来代表的字符...
分类:
编程语言 时间:
2015-07-12 09:47:13
阅读次数:
179
以后每次阅读C++ primer 5 都争取记点重点下来, 方便以后查看。本文主要针对书本中的第一章的内容
1.1 编写一个简单的C++程序
a. main 函数的返回值类型必须为int
在vs 2013 中, 可以用void类型, 但对于g++不行。
(ps:C语言是允许的, vs, gcc 均能通过)b.微软的编译器是cl
1.2 标准输入输出...
分类:
编程语言 时间:
2015-07-10 19:04:35
阅读次数:
123
C++ Primer(第五版)学习笔记_5_标准模板库string(2)
10、搜索string对象的元素或子串
采用find()方法可查找字符串中的第一个字符元素(char, 用单引号界定)或者子串(用双引号界定);如果查到,则返回下标值(从0开始计数),如果查不到,则返回一个很大的数string:npos(即:4294967295)。
#include
#include
#inc...
分类:
编程语言 时间:
2015-07-10 16:45:49
阅读次数:
129
之前看书一直搞不懂什么时候需要自己定义默认构造,在网上查了半天也没解决自己的疑惑,网上的文章多半都是拷过来拷过去的,直到后来看到C++
Primer英文版的对这个的解释才算弄清楚了,其实人家已经说得很清楚了。以前为了图省事,找资料的时候都是找的中文的,现在觉得还不如看英文的来的直接了,所以建议有条件的同学都直接看英文的好了。
---------------------------------...
分类:
编程语言 时间:
2015-07-10 09:26:47
阅读次数:
130
C++ Primer(第五版)学习笔记_4_标准模板库string(1)
1、创建string对象
创建一个空字符串,其长度为0
#include
#include
using namespace std;
int main(int argc, char* argv[])
{
string s;
cout << s.length() << endl;
re...
分类:
编程语言 时间:
2015-07-09 14:33:32
阅读次数:
122
上一篇文章中说道,C++ 的三个基本特质是 封装、继承、多态。其中多态包括静多态和动多态,分别在编译和运行过程中实现。而动多态是由虚函数来实现的,其实现机制体现了C++的神秘性。...
分类:
编程语言 时间:
2015-07-08 22:40:31
阅读次数:
178
概要(泛型算法)大多数算法的头文件中定义algorithm在。标准库也是第一个文件numeric它定义了一套通用算法。#include#include#include#includeusing namespace std;int main(){ vector vec; for(size_...
分类:
编程语言 时间:
2015-07-08 22:15:32
阅读次数:
130
C++ 是一种典型的面向对象的编程语言,其最显著地特点是封装、继承和多态。充分理解封装、继承、多态是如何实现的,学好C++就不是难事了。...
分类:
编程语言 时间:
2015-07-08 19:03:54
阅读次数:
164