C++
Yan456jie
这个作者很懒,什么都没留下…
展开
-
建立WIN32 DLL,并使用静态加载和动态加载
新建工程,选择win32 dll编写.cpp(或.)原创 2014-05-10 00:38:47 · 1346 阅读 · 0 评论 -
求最大公约数
//求x和y的最大公约数 x<y //辗转相除法O(log(n)) int susu(int x, int y) { if(x>y) { int t = x; x = y; y = t; } if(x==0) { return y; } return susu(y%x, x); } //暴力搜索O(n) int susu1(int原创 2016-03-28 14:58:37 · 462 阅读 · 0 评论 -
二分查找离左边元素最近的(可以等于)
int compare(const void *a,const void *b){ return *(int *)a-*(int *)b;}//二分查找离左边元素最近的(可以等于)int bi_search(int num[10], int len, int target){ int begin = 0; int end = len-1; while(begin<end) {原创 2016-03-27 21:07:39 · 706 阅读 · 0 评论 -
C++面试出现频率最高的30道题目
http://blog.csdn.net/wangshihui512/article/details/90924391.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对转载 2016-03-24 17:03:51 · 536 阅读 · 0 评论 -
C++ 容器及选用总结
原文地址目录====================================================第一章 容器第二章 Vector和string第三章 关联容器第四章 迭代器第五章 算法第六章 函数第七章 在程序中使用STL=======================================转载 2016-03-24 16:27:02 · 382 阅读 · 0 评论 -
C++中的各种容器实现原理
C++ 容器及选用总结vector 拥有一段连续的内存空间list 就是数据结构中的双向链表deque 的动态数组首尾都开放set有序的容器,红黑树的平衡二叉检索树的数据结构multiset 红黑树实现的,set插入的元素不能相同,但是multiset可以相同。map 键不能重复,红黑树实现的,mtltimap红黑树原创 2016-03-24 16:26:00 · 2273 阅读 · 0 评论 -
C++继承中的属性
class A{public: int a; A() { } void print() { cout<<a; }};class B:public A{public: int a; B() { a = 2; }};int main(){ B b; b.print(); return 0;}原创 2016-04-01 19:57:06 · 394 阅读 · 0 评论 -
链表反转 C++
ListNode* reverse1(ListNode* pHead){ if(pHead == NULL) return NULL; ListNode * p1 = NULL; ListNode * p2 = pHead; ListNode * p3 = pHead->next; while(p3!=NULL) { p2->next = p1;原创 2016-03-20 18:37:36 · 488 阅读 · 0 评论 -
C++ string与int的互相转换
原文地址C++本身就提供了字符串与整型数之间的互换,那就是利用stringstream。下面是使用方法:核心: 利用C++中的stringstream流。由于使用过程比较简单就不再赘述,直接给出示例,重要的地方在示例注释中给予说明。完整示例:#include #include #include //要使用stringstream流应包含此头文件转载 2016-03-31 16:17:35 · 487 阅读 · 0 评论 -
凸包Graham Scan算法实现
凸包算法实现点集合中搜索凸包顶点的功能,可以处理共线情况,可以输出共线点也可以不输出而只输出凸包顶点。经典的Graham Scan算法,点排序使用极角排序方式,并对共线情况做特殊处理。一般算法是将共线的点去掉距离小的,保留最远的,这样处理会导致不能输出凸包边上的点,只能输出顶点。但是有时候需要输出这些边上的点,因此这里我将共线点都保留,并按照顺序排列。共线点排列方式是:非起始边按照从远道近排列,起转载 2016-03-30 15:20:57 · 870 阅读 · 0 评论 -
windows程序调试
由于不能在控制台输出,可以使用Messagebox 但是有时候要用到输出int之类的,需要转换。转换过程中有会有很多问题。这里给出两个可行的代码int a = 5, b = 10;int result = getMax(a, b);WCHAR tmp[8];wsprintf(tmp, TEXT("hello %d", result));Message原创 2015-04-01 19:15:02 · 488 阅读 · 0 评论 -
Windows程序调用dll
可以写在WndProc的WM_CREATE里面,不能写在WinMain里面原创 2015-04-01 19:16:52 · 471 阅读 · 0 评论 -
eclipse + MinGW搭建C/C++环境
Eclipse+CDT+MinGW 配置 C/C++ 开发环境 开场白:谨以此文献给所有喜欢探索和热爱开源软件的朋友们。 1:首先你得有 JAVA 运行环境,这样你才可以运行eclipse ,你可以到http://java.com/zh_CN/ 下载最新版本的 jre ,如果你安装 JDK 的话则已包含 jre ,不必重复安装。转载 2015-03-06 15:39:40 · 662 阅读 · 0 评论 -
安装进程内钩子程序(鼠标钩子和键盘钩子)
以最简单的p先生写的hello win98为例,要实现效果是点击原创 2014-05-09 23:24:10 · 855 阅读 · 0 评论 -
安装全局钩子程序(鼠标钩子)
新建win32 dynamic link library HookDll,有两个文件.c和原创 2014-05-10 00:19:59 · 2052 阅读 · 0 评论 -
C++函数调用过程深入分析
C++函数调用过程深入分析作者:靠谱哥微博:洞庭之子-Bing0. 引言 函数调用的过程实际上也就是一个中断的过程,那么C++中到底是怎样实现一个函数的调用的呢?参数入栈、函数跳转、保护现场、回复现场等又是怎样实现的呢?本文将对函数调用的过程进行深入的分析和详细解释,并在VC 6.0环境下进行演示。分析不到位或者存在错误的地方请批评指正,请与作者联系。转载 2014-05-10 01:21:34 · 682 阅读 · 0 评论 -
static函数与普通函数
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不转载 2014-05-09 12:45:33 · 566 阅读 · 0 评论 -
背包问题
将背包装满,要求时间复杂度最小 给定参数,背包容量S=100,N个物品,重量分别为1,55,2,44,3,5,3,56,7,3,5...class Test{public: void fun1() { A *a = new A(); delete a; A aa; } //求x和y的最大公约数 x<y //辗转相除法O(log(n)) int susu(int x原创 2016-03-27 22:08:24 · 321 阅读 · 0 评论