- 博客(23)
- 资源 (6)
- 收藏
- 关注
原创 堆和栈的区别
主要的区别由以下几点 1、管理方式不同; 2、空间大小不同; 3、能否产生碎片不同 4、生长方向不同; 5、分配方式不同; 6、分配效率不同; 管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生 memory leak。 空间大小
2015-11-23 22:02:05 278
转载 使用CSpreadSheet读写excel的方法以及详细步骤
http://blog.csdn.net/lpf1990823/article/details/17316281
2015-11-22 16:18:19 1585
原创 为按钮控件添加提示
1)设置按钮的Icon属性2)在对话框初始化时(OnInitDialog方法中),设置按钮显示图标。m_Image.SetIcon(LoadIcon(AfxGetResourceHandle(), // m_Image为与按钮关联的CButton类型变量 MAKEINTRESOURCE(IDI_IMAGEICON))); // 设置按钮控件显示图标
2015-11-21 20:10:20 561
原创 ON_REGISTERED_MESSAGE
https://msdn.microsoft.com/en-us/library/wk5fe1k6.aspx
2015-11-21 17:33:04 884
原创 让数据库变快的10个建议
大多数网站的内容都存在数据库里,用户通过请求来访问内容。数据库非常的快,有许多技巧能让你优化数据库的速度,使你不浪费服务器的资源。在这篇文章中,我收录了十个优化数据库速度的技巧。0. 小心设计数据库第一个技巧也许看来理所当然,但事实上大部分数据库的问题都来自于设计不好的数据库结构。譬如我曾经遇见过将客户端信息和支付信息储存在同一个数据库列中的例子。对于系统和用数据库的开发者来说,这
2015-11-21 15:37:25 246
转载 提升SQLite数据插入效率低、速度慢的方法
http://blog.csdn.net/majiakun1/article/details/46607163
2015-11-21 15:31:37 732
转载 [STL] lower_bound和upper_bound
http://www.cnblogs.com/diegodu/p/3795077.html
2015-11-18 14:00:17 274
原创 把仿函数类设计成用于值传递
1、错误示例将仿函数类的数据和/或多态移到另一个类中,然后给你的仿函数一个指向这个新类的指针。比如,你想建立一个包含很多数据的多态仿函数类。templateclass BPFC : public unary_function { // BPFC = "Big Polymorphic Functor Class"private: Widget w; // 这个类有很多数据,所
2015-11-12 15:04:41 888
原创 查找最小的k个元素
题目:输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和这8个数字,则最小的4个数字为1,2,3和4。分析:这道题最简单的思路莫过于把输入的n个整数排序,这样排在最前面的k个数就是最小的k个数。只是这种思路的时间复杂度为O(nlogn)。我们试着寻找更快的解决思路。我们可以开辟一个长度为k的数组。每次从输入的n个整数中读入一个数。如果数组中已经插入的元素
2015-11-12 08:45:15 480
原创 单链表反转的两种方法
struct ListNode{ int m_nKey; ListNode* m_pNext;};迭代法:ListNode* ReverseIteratively(ListNode* pHead){ ListNode* pReverseHead = NULL; ListNode* pNode = pHead; ListNode* pPrev = NULL; while(
2015-11-12 08:26:56 546 1
原创 编译器对操作的重新排序
#include #include volatile int start[4];volatile int done[4];void *work(void *param){ int id = (int)param; while(start[id] == 0) {} printf("Thread %i started\n", id); double total = 0; for
2015-11-06 10:35:08 707
原创 为指针的关联容器指定比较类型
假定有一个string*指针的set,你把一些动物的名字插入set:set ssp;ssp.insert(new string("Anteater"));ssp.insert(new string("Wombat"));ssp.insert(new string("Lemur"));ssp.insert(new string("Penguin"));一、比较仿函
2015-11-05 19:01:16 361
原创 使用引用计数的类
我们可以使用这句格言:计算机科学中的绝大部分问题都可以通过增加一个中间层次来解决。我们增加一个新类CountHolder以处理引用计数,它从RCObject继承。我们让CountHolder包含一个指针指向Widget,将CountHolder类指针封装在智能指针RCIPtr(名字中的"i"表示间接"indirect")内。设计图如下:一、带引用计数的基类RCObjec
2015-11-05 16:03:13 569
转载 STL迭代器失效问题
最近在项目开发中,遇到一个异常,经过测试,发现是迭代器失效问题,于是稍微总结了一下。vector迭代器失效测试:测试程序:void vectorTest(){ vector container; for (int i = 0; i < 10; i++) { container.push_back(i); } vecto
2015-11-05 08:54:10 308
转载 迭代器失效小结
迭代器(iterator)是一个可以对其执行类似指针的操作(如:解除引用(operator*())和递增(operator++()))的对象,我们可以将它理解成为一个指针。但它又不是我们所谓普通的指针,我们可以称之为广义指针,你可以通过sizeof(vector::iterator)来查看,所占内存并不是4个字节。 首先对于vector而言,添加和删除操作可能使容器的部分或者全部迭代
2015-11-05 08:49:42 267
原创 list的一种实现
template class List{private: struct Node { Objeect data; Node *prev; Node *next; Node(const Object &d = Object(), Node *p = NULL, Node *n = NULL) : data(d), prev(p), next(n) { } };
2015-11-02 16:01:36 280
原创 vector的一种简单实现
template class Vector{public: explicit Vector(int initSize = 0) : theSize(initSize), theCapacity(initSize + SPARE_CAPACITY) { objects = new Object[theCapacity]; } Vector(const Vector &rhs) :
2015-11-02 12:32:37 333
原创 函数对象的使用
一、使用一般的函数调用方法,代码如下:#include #include #include #include using namespace std;templateconst Object &findMax(const vector &arr, Comparator cmp){ int maxIndex = 0; for(int i = 1; i < arr.size()
2015-11-01 22:18:13 322
数字图像处理与机器视觉——Visual C++与Matlab实现(pdf+附书源码)
2015-07-07
Visual C++网络高级编程(pdf)+实例源代码
2014-09-02
嵌入式Linux应用程序开发标准教程
2012-11-01
嵌入式Linux应用程序开发详解
2012-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人