随笔分类 -  C/C++

摘要:马上要开始校招了,这些基本的数据结构很有必要掌握。 自己基本都忘了,所以花点时间自己重新温习下。 阅读全文
posted @ 2016-07-20 18:50 ht-beyond 阅读(929) 评论(0) 推荐(0)
摘要:// 文件和目录操作 #ifndef _FILE_DIR_H_ #define _FILE_DIR_H_ #include #include #include void mkDir(const std::string &dirPath); int removeDir(const std::string &path); bool checkExist(const std::string... 阅读全文
posted @ 2016-07-20 09:20 ht-beyond 阅读(430) 评论(0) 推荐(0)
摘要:参考:http://www.codeproject.com/Tips/732196/Heap-Data-Structure-and-Heap-Sort#xx4775794xx 阅读全文
posted @ 2016-04-27 20:14 ht-beyond 阅读(273) 评论(0) 推荐(0)
摘要:根据txt文件中指定的文件名进行文件分类: // 根据txt文件中指定的文件名进行文件分类 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <windows.h> #include <io.h> #include 阅读全文
posted @ 2016-03-05 17:32 ht-beyond 阅读(1014) 评论(0) 推荐(0)
摘要:大数加法乘法: 1 /* 2 2015.4 3 大数加法,乘法 4 5 */ 6 #include 7 #include 8 #include 9 10 using namespace std; 11 #define MAX 99 12 #define MA... 阅读全文
posted @ 2015-05-11 18:36 ht-beyond 阅读(259) 评论(0) 推荐(0)
摘要:1.要删除容器中有特定之的所有对象: 如果容器是vector、string或deque,则使用erase-remove习惯用法。 如果容器是list,则使用list::remove。 如果容器是一个标准关联容器,则使用它的erase成员函数。 2.要删除容器中满足特定判别式(条件)的所有对象: 如果 阅读全文
posted @ 2015-04-13 17:42 ht-beyond 阅读(180) 评论(0) 推荐(0)
摘要:Arrays STL各种实现代码。 《C++标准程序库》 阅读全文
posted @ 2015-04-12 20:22 ht-beyond 阅读(539) 评论(0) 推荐(0)
摘要:特化分为全特化与偏特化,全特化就是限定死模板实现的具体类型,偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。本质上,偏特化模板的匹配和选择过程与重载解析非常类似。实际上,在非常复杂的偏特化情况下,编译器可能就是将偏特化直接译成函数,然后直接调用重载解析来处理。重载解析和偏特化匹配都用到了模... 阅读全文
posted @ 2015-04-12 18:15 ht-beyond 阅读(494) 评论(0) 推荐(0)
摘要:vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值,我们把 vector称为容器,是因为它可以包含其他对象,一个容器中的所有对象都必须是同一种类型的,vector 是一个类模板(class template)。 使用 vector 之前,必须包含相应的头文件 #include 阅读全文
posted @ 2015-02-05 18:35 ht-beyond 阅读(227) 评论(0) 推荐(0)
摘要:cin(标准输入),cout(标准输出),cerr(不带缓存的标准错误输出),clog(带缓存的标准错误输出)。文件读写操作,分别为:ifstream(读文件),ofstream(写文件),fstream(读写文件)字符串作为输入输出流进行处理,分别为:istringstream(字符串输入流),o... 阅读全文
posted @ 2015-02-04 23:30 ht-beyond 阅读(301) 评论(0) 推荐(0)
摘要:模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。函数模板针对仅参数类型不同的函数;类模板针对仅数据成员和成员函数类型不同的类。注意:模板的声明或定义只能在全局,命名空间或类范围内... 阅读全文
posted @ 2015-02-04 22:08 ht-beyond 阅读(233) 评论(0) 推荐(0)
摘要:异常的抛出和处理主要使用了以下三个关键字: try、 throw 、 catch 。抛出异常即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某... 阅读全文
posted @ 2015-02-04 18:21 ht-beyond 阅读(308) 评论(0) 推荐(0)
摘要:如:string a("sky1"),b("sky2") ;b = a ;程序在运行的时候创建了两个对象,分别是a和b,然后调用构造函数。当执行“b=a”的时候,因为没有用户自己定义的赋值运算符函数,于是程序自动调用默认的赋值函数,两个指针指向了同一个内存,“sky2”这个空间的内存应经不能访问了。... 阅读全文
posted @ 2015-01-14 01:47 ht-beyond 阅读(949) 评论(0) 推荐(0)
摘要:1.功能晚绑定时运行时完成。class Point{public: virtual double Area(){} ...}class Circle:public Point{public: double Area(){} //仍为虚函数,重定义时virtual可写也可不写}double C... 阅读全文
posted @ 2015-01-14 00:51 ht-beyond 阅读(269) 评论(0) 推荐(0)
摘要:#include using namespace std;void quick_sort(int s[], int low, int high);void quick_sort(int s[], int low, int high){ if(low = key) --j... 阅读全文
posted @ 2014-12-11 15:53 ht-beyond 阅读(169) 评论(0) 推荐(0)
摘要:1. 设计一个Person类,它有两个派生类Student和Employee,Employee有两个派生类Faculty和Staff。•Person类有一个string类型的名字name,string型的身份号id,string型的电话号码phonenumber, Person类构造函数的对应nam... 阅读全文
posted @ 2014-12-10 00:06 ht-beyond 阅读(1397) 评论(0) 推荐(0)
摘要:题:1、 设计描述平面坐标上的点CPoint类,该类满足下述要求:•具有x,y坐标信息;•具有带默认形参值的构造函数,参数分别用于初始化x和y坐标信息;•具有获取x、y信息的GetX和GetY函数,具有设置x、y信息的SetX和SetY函数;2、 设计一个矩形类CRectangle,该类满足下述要求... 阅读全文
posted @ 2014-12-02 19:56 ht-beyond 阅读(973) 评论(0) 推荐(0)
摘要:举例说明:函数声明:void Fun(int (*p)[4] ); void Fun(int (*p)[4] ) { int i=0,j=0; for(i=0;i<4;i++) for(j=0;j<4;j++) cout << *(*(p+i)+j) << en... 阅读全文
posted @ 2014-11-18 00:07 ht-beyond 阅读(870) 评论(0) 推荐(0)
摘要:使用VS2005以上版本(VS2005、VS2008、VS2010.....)编译在其他编译器下正常通过的C语言程序,你可能会遇到类似如下的警告提示:引用内容warning C4996: 'strcpy': This function or variable may be unsafe. Consi... 阅读全文
posted @ 2014-09-23 23:57 ht-beyond 阅读(390) 评论(0) 推荐(0)
摘要:堆栈是一种执行“后进先出”算法的数据结构。 设想有一个直径不大、一端开口一端封闭的竹筒。有若干个写有编号的小球,小球的直径比竹筒的直径略小。现在把不同编号的小球放到竹筒里面,可以发现一种规律:先放进去的小球只能后拿出来,反之,后放进去的小球能够先拿出来。所以“先进后出”就是这种结构的特点。 ... 阅读全文
posted @ 2014-06-23 18:12 ht-beyond 阅读(556) 评论(0) 推荐(0)