随笔分类 - C++
摘要:find函数在关联式容器和string的使用: 关联式容器,若存在返回的是元素存在的迭代器,不存在则返回尾后迭代器 string返回的是第一个字符在目标串中匹配的位置 如“213 ”和“12134” The position of the first character of the first m
阅读全文
摘要:sort函数 1.sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以实现对数据的排序。 2.sort函数的模板: void sort (RandomAccessIterator first, RandomAccessIterator last
阅读全文
摘要:参考:http://blog.csdn.net/strongwangjiawei/article/details/7786085/ 一.非标准文件的读写 不带缓冲的 1.文件的打开和关闭 open()函数的作用是打开文件,其调用格式为: int open(char *filename, int ac
阅读全文
摘要:工厂模式 http://blog.csdn.net/wuzhekai1985/article/details/6660462 策略模式 http://blog.csdn.net/wuzhekai1985/article/details/6665197 单例模式 http://blog.csdn.ne
阅读全文
摘要:记忆方法: --摘自《C语言程序设计实用问答》 问题:如何记住运算符的15种优先级和结合性? 解答:C语言中运算符种类比较繁多,优先级有15种,结合性有两种。 如何记忆两种结合性和15种优先级?下面讲述一种记忆方法。 结合性有两种,一种是自左至右,另一种是自右至左,大部分运算符的结合性是自左至右,只
阅读全文
摘要:scanf()与gets()区别: scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hi hello",则应该使用gets()函数。 gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。 char st
阅读全文
摘要:声明函数如下void function(int** p),意图是想参数传递一个二维数组。于是就定义了一个二维数组,比如 int a[1][1],然后调用函数。结果如何?当然是失败了,编译器提示:cannot convert parameter 1 from 'int [1][1]' to 'int
阅读全文
摘要:以上是比较常用的Windows系统为我们提供了相关API,我们可以使用他们来进行多线程编程 例1:
阅读全文
摘要:C++ 构建二维动态数组 这样就构成10*5的数组 或者 vector二维数组 添加元素 for(int i=0;i<n;i++) array[i].push_back(x) ;
阅读全文
摘要:heap并不属于STL容器组件,它分为 max heap 和min heap,在缺省情况下,max-heap是优先队列(priority queue)的底层实现机制。 而这个实现机制中的max-heap实际上是以一个vector表现的完全二叉树(complete binary tree)。二叉堆(b
阅读全文
摘要:1.strcpy函数原型 char *my_strcpy(char *dest,const char *src) //const使在函数中不能修改*src其原先的值{ char *strDest = dest; //保存原始的strDest assert((dest!=NULL)&&(src!=NU
阅读全文
摘要:32位编译器 char :1个字节char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 4
阅读全文
摘要:int i = 5, j = 6, k = 7; int *ip1 = &i, *ip2 = &j; int **ipp = &ip1; 那么现在指针 ipp 指向了 ip1,ip1 指向了 i。*ipp 就是 ip1,**ipp 就是 i,或者说是 5。我们可以用我们熟悉的盒子箭头图来描述,像这样
阅读全文
摘要:前序递归于循环 中序递归与循环 层次优先遍历 深度优先遍历
阅读全文
摘要:堆排序: n*log(n)的时间复杂度, 非稳定排序,原地排序。 它的思想是利用的堆这种数据结构,堆可以看成一个完全二叉树,所以在排序中比较的次数可以做到很少。 加上他也是原地排序,不需要申请额外的空间,效率也不错。 堆的重要特点是每一次循环都会建立新的最大或最小堆。
阅读全文
摘要:首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。 1、简介假设我们有下面的类层次:
阅读全文
摘要:1、vector容器 vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变。vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。因此,vector的运用对于内存的合理利用与运用的灵活性有
阅读全文
摘要:求数组长度 求字符数组长度 求string字符串长度
阅读全文
摘要:主要涉及到string类的两个函数find和substr: find()函数的用法: 原型:size_t find ( const string& str, size_t pos = 0 ) const;功能:查找子字符串第一次出现的位置。参数说明:str为子字符串,pos为初始查找位置。返回值:找
阅读全文