c/c++积累
yxl22128
这个作者很懒,什么都没留下…
展开
-
头文件的重复包含
#ifndef XXXX_H#define XXXX_H ...... #endif 以上代码是一个宏,俗称保护头,作用:防止头文件的重复包含。 每一个.h头文件定义时,都应该加上这么一个宏,来防止文件的重复包含。 举例: 写application.h头文件的时候,加上#ifndef ......: #ifndef APPLICATIO...原创 2012-10-19 10:48:28 · 175 阅读 · 0 评论 -
sizeof()
在写程序的时候遇到了如何求字符串占多少长度的内存空间问题。先看一行代码:std::string s("hello");sizeof(s)结果有点出人意料,竟然是4。 百思不得其解,于是google求助,找到一个博客讲解的比较清楚:http://www.cnblogs.com/wanghetao/archive/2012/04/04/2431760.html 既然决定以后...原创 2013-01-09 09:21:32 · 121 阅读 · 0 评论 -
assert 断言
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression ); assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。大家要注意是,其中的表达式为假时,会终止...原创 2012-09-17 20:22:12 · 187 阅读 · 0 评论 -
strcpy()/memcpy()
陆陆续续总结几个常用函数的原型出来,为以后再看到时查阅的方便。 1.strcpy() 原型声明:extern char *strcpy(char *dest,const char *src);头文件:#include <string.h>功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间说明:src和dest所指内存区域不可以...原创 2013-01-04 17:08:28 · 140 阅读 · 0 评论 -
hash算法常备链接
在这里总结几个常用的hash函数出来,留备后续用到时候方便查阅。原文出自:http://blog.csdn.net/eaglex/article/details/6310727。 MD5算法的wiki条目:http://zh.wikipedia.org/wiki/MD5...原创 2012-12-21 16:13:05 · 118 阅读 · 0 评论 -
汉诺塔问题
原文出处:http://zh.wikipedia.org/wiki/%E6%B1%89%E8%AF%BA%E5%A1%94 代码: #include <iostream>#include <cstdio>using namespace std; void hannoi (int n, char A, char B, char C){...原创 2012-11-20 22:46:23 · 120 阅读 · 0 评论 -
迷宫求解算法
原文出处:http://blog.csdn.net/gzzheyi/article/details/6686351 Status MazePath(MazeType (*Maze)[MAX],PosType start,PosType end) { SElemType e ; MazeStack S ; PosType curpos...原创 2012-11-20 21:05:01 · 208 阅读 · 0 评论 -
vector list deque 三者间的比较
http://blog.csdn.net/ianleelj/article/details/3939354 原文出处。 1 vector 向量 相当于一个数组 在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放...原创 2012-11-16 21:54:13 · 113 阅读 · 0 评论 -
双端队列deque (非原创)
http://hi.baidu.com/xuehuo_0411/item/f72d5120d5006ad0a517b6b8 原文出处。 C++ STL 容器技术 之 deque双端队列容器简介:deque双端队列容器(double-ended queue)与vector非常相似,算法的时间复杂度也是常数阶O(1),deque内部的数据机制和执行性能与vector...原创 2012-11-16 21:44:21 · 104 阅读 · 0 评论 -
C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组(2)
//读取方式: 逐行读取, 将行读入字符数组, 行之间用回车换行区分//If we were interested in preserving whitespace, //we could read the file in Line-By-Line using the I/O getline() function.void ReadDataFromFileLBLIntoCharArra...原创 2012-07-04 21:14:28 · 239 阅读 · 0 评论 -
C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组(1)
fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。ifstream -- 从已有的文件读ofstream -- 向文件写内容fstream - 打开文件供读写文件打开模式:ios::in 读ios::out 写ios::app 从文件末尾开始写ios::binary ...原创 2012-07-04 20:33:32 · 209 阅读 · 0 评论 -
malloc函数/强制类型转换/单链表案例/
1.malloc()函数的函数原型如下: void *malloc(int size); malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。2.于new的不同: 1> new 返回指定类型的指针,并且可以自动计算所需要大小。比如:...原创 2012-10-11 19:59:32 · 600 阅读 · 0 评论