C++
文章平均质量分 55
CFZero
这个作者很懒,什么都没留下…
展开
-
关于const限定符和const引用的讨论
当我们需要定义一个不允许被修改的变量时,我们要定义如下:例如:const int buf = 1024;这就使得变量buf被定义成了常量,初始值为1024;任何对buf的修改都会导致编译错误:buf=512;将要报错。const对象默认为局部变量,一个非const变量如果做了合适的声明就可以在另外的文件中被使用;在全局作用域声明的const变量不能被其他文件访问,通过指定const原创 2013-12-02 10:15:30 · 751 阅读 · 0 评论 -
针对进程快照的死锁检测算法
输入格式:进程数量进程id 持有的锁id等待的锁id进程id 持有的锁id等待的锁id其中,每个进程可持有0个或多个锁,等待0个或1个锁;检测进程情况是否存在死锁,若存在则输出死锁个数。输入样例如下:7123 1001,1002 1003127 1100128 1010 129 124 1007 1008125原创 2015-09-21 14:02:24 · 968 阅读 · 0 评论 -
图的深度搜索
基于邻接矩阵的无向图深度搜索。原创 2015-09-28 23:05:49 · 465 阅读 · 0 评论 -
STL标准库中的算法函数
STL标准库中的算法函数非修改性序列操作(12个)类型函数名说明循环for_each()对序列中的每个元素执行某操作。查找find()在序列中找出某个值的第一次出现的位置。find_if()在序列中找出符合某谓词的第一个元素转载 2015-08-21 12:05:54 · 371 阅读 · 0 评论 -
三十分钟掌握STL
三十分钟掌握STL这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽转载 2015-08-21 11:59:41 · 261 阅读 · 0 评论 -
贝格尔编排法之C++版
轮转的步骤与之前的java代码不同,相对之前的更高效一些。// #include #includeusing namespace std;void display(vector arrays,int len){ for(int i = 0;i<len/2;i++) cout<<arrays[i]<<"....."<<arrays[len-i-1]<<endl;}int r原创 2015-09-04 18:16:18 · 1391 阅读 · 0 评论 -
指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变转载 2015-08-02 11:04:38 · 299 阅读 · 0 评论 -
g++编译命令使用以及参数详解
gcc & g++现在是gnu中最主要和最流行的c & c++编译器 。g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c。这时候命令换做gcc即可。其实是无关紧要的。其实编译器是根据gcc还是g++来确定是按照C标准还是C++标准编译链接。下面以Test.cpp为例:命令: g++ Test.cpp功能:生成默认为a.exe的文件,这个过程包含了编译转载 2015-08-01 16:39:23 · 6773 阅读 · 0 评论 -
gcc 编译器常用的命令行参数一览
这些常用的 gcc/g++ 命令行参数,你都知道么?1. gcc -E source_file.c-E,只执行到预编译。直接输出预编译结果。2. gcc -S source_file.c -S,只执行到源代码到汇编代码的转换,输出汇编代码。3. gcc -c source_file.c-c,只执行到编译,输出目标文件。4. gcc (-E/S/c/) s转载 2015-08-01 15:47:23 · 459 阅读 · 0 评论 -
C语言堆栈入门——堆和栈的区别
来看一个网上很流行的经典例子:main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[] = "abc"; 栈 char *p2; 栈 char *p3 = "123456"; 123456\0在常量区,p3在栈上。 static int c =0; 全局(静态)初始化区转载 2015-08-08 20:23:25 · 417 阅读 · 0 评论 -
HOG源码解读
、网上一些参考资料 在博客目标检测学习_1(用opencv自带hog实现行人检测) 中已经使用了opencv自带的函数detectMultiScale()实现了对行人的检测,当然了,该算法采用的是hog算法,那么hog算法是怎样实现的呢?这一节就来简单分析一下opencv中自带 hog源码。 网上也有不少网友对opencv中的hog源码进行了分析,很不错转载 2014-05-19 16:07:44 · 969 阅读 · 0 评论 -
如何将视差数据保存为 txt 数据文件以便在 Matlab 中读取分析?
由于OpenCV本身只支持 xml、yml 的数据文件读写功能,并且其xml文件与构建网页数据所用的xml文件格式不一致,在Matlab中无法读取。我们可以通过以下方式将视差数据保存为txt文件,再导入到Matlab中。 void saveDisp(const char* filename, const Mat& mat) { FILE* fp = fopen(file转载 2014-05-11 17:04:31 · 1803 阅读 · 0 评论 -
关于reserve和resize的区别
reserve()函数是为容器预分配存储区的大小,但并不进行初始化(所以此时容器的下标操作不可用),例如若先reserve()之后,再调用push_back(),将不再触发内存分配,说白了就是简单的预分配内存。而resize()之后就可以使用容器的下标操作,因为此时容器的大小被改变了,而且还被初始化了;原创 2014-02-20 11:16:16 · 913 阅读 · 0 评论 -
大小写字母和数字的ASCII码
下表列出了字符集中的 0 - 127。代码 字符 代码 字符 代码 字符 代码 字符0 32 [空格] 64 @ 96 `1 33 ! 65 A 97 a2 34 " 66 B 98 b3 35 # 67 C 99 c4 36 $ 68 D 100 d5 37 % 69 E 101 e6 38 & 70 F 102 f7 39 ' 71 G 10原创 2014-02-17 09:42:25 · 4312 阅读 · 0 评论 -
关于map容器
map容器的键值会自动排序原创 2014-02-18 10:57:55 · 510 阅读 · 0 评论 -
关于++it和it++(前自增和后自增)
++it前自增,迭代器向前移动,返回对加1后的迭代器的引用;it++后自增,迭代器向后移动,返回原来的迭代器;例如:while(it!=vec.end()) vec.push_back(*it++);自增操作使得it先向后移动(即it+1),但后自增的返回值依然是it,所有解引用运算的操作数依然是it,当进行下一次it!=vec.end()判断时,此时的it已自增为(i原创 2014-02-20 18:46:51 · 1852 阅读 · 0 评论 -
阶乘算法全集,阶乘末尾非零位,阶末尾零的个数
/阶乘各算法的 C++ 类实现#include iostream>#include cstring>#include iomanip> #include cmath> using namespace std; class Factorial { static const int MAXN = 5001; // 最大阶乘数,实际用不到这么大转载 2015-10-27 21:02:46 · 1309 阅读 · 0 评论