
C/C++/VC
holybin
这个作者很懒,什么都没留下…
展开
-
C++ const引用详解
C++ const引用详解转自:http://chio.cnblogs.com/(1) 在实际的程序中,引用主要被用做函数的形式参数--通常将类对象传递给一个函数.引用必须初始化. 但是用对象的地址初始化引用是错误的,我们可以定义一个指针引用。1 int ival = 1092;2 int &re = ival; //ok3 int &re2 = &转载 2013-12-25 16:39:36 · 4918 阅读 · 1 评论 -
把《编程珠玑》读薄
开篇具体化你的解决的问题。下面是A和B的对话。A:我该如何对磁盘文件进行排序?B:需要排序的内容是什么?文件中有多少条记录?每个记录的格式是什么?A:该文件包含至多10,000,000个记录,每条记录都是一个7位整数。B:如果文件那么小,为什么要使用磁盘排序呢?为什么不在主存中对它排序?A:该功能是某大型系统中的一部分,大概只能提供1MB主存给它。B:你能将记录方面的内容说得转载 2014-05-17 22:51:39 · 1407 阅读 · 0 评论 -
STL之:简单的vector实现
转自:前言《Cracking the coding interview》是一本被许多人极力推荐的程序员面试书籍, 详情可见:http://www.careercup.com/book。 里面有150道程序员面试题目及相应的解答。书中大部分是编程题目, 并且配有相应的java程序(有些地方有错误或是有更优的方案)。我把书中的题目做了一遍, 并且记录下来,包含自己对问题的一些思路及转载 2014-05-16 21:33:49 · 1446 阅读 · 0 评论 -
动态链接库和静态链接库
1、含义区别1、静态链接库只包含:lib文件;动态链接库包含:lib文件和dll文件,静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。此外他们都会用到定义了函数和相关数据结构的.h头文件,其中:.h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的。 2、静态链接库的lib是静态编译出来的(obj文件的集合。类似于li原创 2014-07-02 16:54:48 · 1157 阅读 · 0 评论 -
MFC中使用OpenCV显示图像
文章内容介绍在MFC对话框里使用Picture控件来显示和处理图像。原创 2014-05-15 02:10:58 · 5404 阅读 · 3 评论 -
如何用C++实现一个LRU Cache
转自:如何用C++实现一个LRU Cache转载 2014-05-17 10:39:24 · 1502 阅读 · 0 评论 -
获取程序运行时间
1、使用Window API函数QueryPerformanceFrequency和QueryPerformanceCounterQueryPerformanceFrequency用于获取CPU的主频,QueryPerformanceCounter用于计算程序运行时间差原创 2014-07-06 16:09:23 · 1636 阅读 · 0 评论 -
windows标准控件的介绍与使用
一、 Windows标准控件概述(一)Windows标准控件Windows系统提供的标准控件主要包括静态控件、按钮控件、编辑框控件、列表框控件、组合框控件等,如表所示。Windows标准控件的类型类别 MFC类控件类型静态控件CStatic Static Text, Group Box按钮控件CBut转载 2014-07-06 16:23:17 · 11336 阅读 · 1 评论 -
模态对话框 vs 非模态对话框
1、如果是模态的,那么弹出后该程序的其它窗口就呈不可用的状态,原来程序暂停执行,直到这个模态窗口关闭后才回到原来程序继续。非模态的就是直接显示出来,然后原来的程序继续执行下面的语句,而且其它窗口也呈可用状态。原创 2014-07-06 16:29:13 · 1169 阅读 · 0 评论 -
struct结构体对齐问题
之所以struct结构体需要对齐的原因,大家都明白是为了提高寻址效率。看了很多资料和文章分析了结构体对齐问题,但是大多数要么讲的有错,要么讲的不清不楚,这里结合自己的分析和理解给出一个总结。Part I结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间。要弄清楚内存对齐,首先定义两个参数:内存偏移量和对齐参数。(1)内存偏移量:内存偏移量指的是结构体变量中原创 2014-08-13 20:30:51 · 2324 阅读 · 3 评论 -
C/C++内存泄漏及检测
“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间都花在处理如何正确释放内存上。如果程序运行时间足够长,如后台进程运行在服务器上,只要服务器不宕机就一转载 2014-08-18 10:30:38 · 1162 阅读 · 0 评论 -
VC中判断定时器是否已经开启的办法
VC中定时器的用法比较简单,无非是sangeha原创 2014-10-25 20:40:54 · 10005 阅读 · 0 评论 -
Cracking the coding interview(原版)
转自:Hawstein的Cracking the coding interview--问题与解答转载 2014-07-01 11:51:19 · 5634 阅读 · 0 评论 -
CFileDialog选择多个文件
CFileDialog构造函数原型如下:原创 2014-06-29 17:16:11 · 3075 阅读 · 0 评论 -
为CListBox加上智能水平滚动条
转自:为CListBox加上智能水平滚动条-stug1980-ChinaUnix博客转载 2014-06-29 16:51:30 · 1965 阅读 · 0 评论 -
用C++进行设计模式的解析和实现
转载自:http://c.chinaitlab.com/special/sjms/Index.html设计模式的解析和实现之一-Factory模式作用: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 UML结构图:抽象转载 2014-01-15 20:48:59 · 1300 阅读 · 0 评论 -
VC运行时库/MD、/MDd、/MT、/MTd说明
VC项目属性—>配置属性→C/C++→代码生成→运行时库 可以采用的方式有:多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多线程调试DLL(/MDd)、单线程(/ML)、单线程调试(/MLd)。原创 2014-05-18 18:46:21 · 6321 阅读 · 0 评论 -
MFC中使用printf输出调试信息
MFC程序中要输出调试信息基本只能用edit空间显示内容。原创 2014-05-10 03:49:00 · 13851 阅读 · 2 评论 -
MFC对话框中屏蔽Enter键与ESC键
*************************************文章内容无意义,存档用****************************************原创 2014-05-10 03:43:05 · 4828 阅读 · 0 评论 -
VC中“其原因可能是堆被损坏,这也说明*.exe中或它所加载的任何DLL中有bug”的分析
解决方案:打开项目属性-->配置属性-->C/C++-->代码生成-->运行时库,改成多线程调试DLL编译运行,然后可能会出项如下错误:fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #defi原创 2014-05-18 22:47:03 · 9369 阅读 · 1 评论 -
hash_map介绍与使用
http://stackoverflow.com/questions/5908581/is-hash-map-part-of-the-stlhttp://blog.youkuaiyun.com/dongtingzhizi/article/details/8629285原创 2014-05-19 11:04:32 · 10675 阅读 · 1 评论 -
C语言读写BMP文件
参考的是:用C语言进行BMP文件的读写 - 计算机视觉小菜鸟的专栏 - 博客频道 - youkuaiyun.com原创 2014-05-14 13:40:57 · 7298 阅读 · 1 评论 -
VC中MessageBox与AfxMessageBox用法与区别
MessageBox()用法消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。 1.MessageBox("这是一个最简单的消息框!"); 2.MessageBox("这是一个有标题的消息框!","标题"); 3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL );原创 2014-06-04 15:37:58 · 44925 阅读 · 1 评论 -
#pragma once与#ifndef的区别
为了避免同一个文件被include多次1 #ifndef方式2 #pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句转载 2014-06-04 10:49:23 · 2540 阅读 · 0 评论 -
VS2008编译使用boost
下载boost:http://www.boost.org/users/download/原创 2014-05-22 17:10:15 · 2954 阅读 · 0 评论 -
Cracking the coding interview(中文版)
谷歌面试官经典作品(CTCI)目录1.1 判断一个字符串中的字符是否唯一1.2 字符串翻转1.3 去除字符串中重复字符1.8 利用已知函数判断字符串是否为另一字符串的子串2.1 从链表中移除重复结点2.2 实现一个算法从一个单链表中返回倒数第n个元素2.3 给定链表中间某结点指针,删除链表中该结点2.4 求由两个链表结点组成的数之和转载 2014-07-01 11:48:43 · 10046 阅读 · 1 评论 -
CString的GetBuffer函数详解
1、定义CString::GetBuffer有两个重载版本:(1)LPTSTR GetBuffer( );(2)LPTSTRGetBuffer( int nMinBufLength );throw( CMemoryException );调用第二个版本中,当设定的长度nMinBufLength小于原字符串长度nOldLen时,nMinBufLength默认等于原来字符串长度nOld原创 2014-10-14 15:52:51 · 15647 阅读 · 0 评论