
c/c++
文章平均质量分 66
To-Big_Fish
爱编程,爱运动,爱游戏。。。
展开
-
c++pair的用法
pair 类也是标准库的一部分它使得我们可以在单个对象内部把相同类型或不同类型的两个值关联起来为了使用pair 类我们必须包含下面的头文件#include 例如pair author( "James", "Joyce" );创建了一个pair 对象author 它包含两个字符串分别被初始化为James 和Joyce我们可以用成员访问符号member access notat原创 2014-10-31 11:57:19 · 897 阅读 · 0 评论 -
c语言 union及 大端小端
union 关键字的用法与struct 的用法非常类似。union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union StateMachine{ char character; int number;原创 2015-01-16 21:11:14 · 1198 阅读 · 0 评论 -
C++ 指针常量、常量指针和常指针常量
1、指针常量如果在定义指针变量时候,指针变量前用const修饰,被定义的指针变量就变成了一个指针类型的常变量,指针类型的常变量简称为指针常量。格式如下数据类型 * const 指针变量=变量名;修饰符const与指针变量紧邻,说明指针变量不允许修改,既然指针变量的值不能修改,所以一定要在定义的时候给定初值(指向一个确定存在的地方)如下char * c原创 2014-11-26 22:12:41 · 13700 阅读 · 2 评论 -
C/C++声明
我们有如下规则:按顺序依次读取A、声明从它的名字开始读取B、 1、声明中被括号括起来的部分2、后缀操作符(括号()表示函数,[ ]表示数组)3、前缀操作符 星号*表示指向什么的指针C、如果const和(或)volatile关键字后面紧跟类型说明符(如int,long)那它的作用于类型说明符,其他情况下const或volatile关键字作用于它左边原创 2014-11-26 21:26:08 · 765 阅读 · 0 评论 -
STL容器底层数据结构
STL底层数据结构1.vector 底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack 底层一般用list或deque实现,封闭头部即可,不用vector原创 2015-01-27 21:32:11 · 2687 阅读 · 0 评论 -
C++中 explicit 关键字
阅读了 effective c++中关于初始化部分知识,其中提到了explicit关键字explicit作用: 防止构造函数执行隐式类型转换要明白它的作用,首先要了解隐式转换:我们来构造一个隐式调用方法:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如: class B{ public: B原创 2015-01-07 21:54:06 · 818 阅读 · 0 评论 -
#define inline static const
#define 只进行简单的字符替换,无类型检测它在程序编译时只是在预处理的过程中实施简单的替换操作而已,但是在替换过程中可能出现各种不安全性问题,不进行参数有效性检查。使用#define 而不使用函数的优点因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去原创 2014-11-26 20:00:51 · 985 阅读 · 0 评论 -
C++ fill()和fill_n()函数用法
fill 和fill_n函数是C++ Primer第十二章泛型算法部分内容,并把它们称为生成和变异算法,也就是说这两个函数只能对输入范围内已存在的元素进行操作。如果试图对空容器进行fill_n操作,会导致严重的运行错误,所以在对元素进行写入操作时要检查目标的大小是否足以存储要写入的元素。fill函数的作用是:将一个区间的元素都赋予val值。函数参数:fill(vec.begin(), vec.原创 2014-11-25 19:01:02 · 28392 阅读 · 0 评论 -
c++中vector的 resize()和reserve()区别
vector 的reserve增加了vector的capacity,但是它的size没有改变!而resize改变了vector的capacity同时也增加了它的size!原因如下: reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素。加入新的元素时,要调用push_back()/insert()函数。 r原创 2014-10-30 16:57:19 · 1776 阅读 · 0 评论 -
C++ static关键字
c++ static 关键字static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。面向过程中的static- 静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。#includeusingnamespace std;void fn(); //原创 2015-03-23 21:09:00 · 872 阅读 · 0 评论