
c++
文章平均质量分 57
lanzily99
这个作者很懒,什么都没留下…
展开
-
VC中CButtonST使用方法
CButtonST是一个功能强大的类,他可以产生各种不同风格的Button按钮,可以在实际开发中使用,CButtonST是控件子绘制的原理。CButtonST可以从网上下载到源文件,下载之后加入到我们的工程中。下面是使用方法。1、创建一个Button控件并为之关联一个Control变量 。2、修改Button控件的父类为CButtonST //{{AFX_DATA(CXXD转载 2012-08-06 10:00:24 · 1659 阅读 · 0 评论 -
模态对话框和非模态对话框的区别
模态对话框和非模态对话框的区别 假设对话框类名为:CTestDlg 1,如果是模态对话框: CTestDlg ctd;//创建该对话框对像 ctd.DoModale(); 2,如果是非模态的: CTestDlg *p_ctd= new CTestDlg();//创建对话框的对像指针 p_ctd->Create(IDD_READING,th转载 2012-10-09 17:27:36 · 5179 阅读 · 0 评论 -
编译、链接相关
转自:http://blog.donews.com/xzwenlan/archive/2004/12/23/211668.aspx一.预处理器-编译器-汇编器-链接器预处理器会处理相关的预处理指令,一般是以”#”开头的指令。如:#include “xx.h” #define等。编译器把对应的*.cpp翻译成*.s文件(汇编语言)。汇编器则处理*.s生成对应的*.o文件(obj目标文转载 2012-09-15 19:16:10 · 538 阅读 · 0 评论 -
C运行时库函数和API函数区别
C运行时库函数 是指 C语言本身支持的一些基本函数,通常是汇编直接实现的。。。。 API函数是操作系统提供给用户方便设计应用程序的函数,实现一些特定的功能,API函数也是C语言的函数实现的。 他们之间区别是:API函数是针对操作系统的,C语言运行时函数则是针对C语言本身的1)运行时库就是 C run-time library,是C而非C++语言世界的概念:取这个名字就是因为你的C原创 2012-09-21 18:45:10 · 4893 阅读 · 0 评论 -
修复缓冲区溢出问题
当 David LeBlanc 和我确定《Writing Secure Code》(英文)一书的目录时,我们明确地意识到必须着重介绍缓冲区溢出问题,因为已经有太多的开发人员在编写代码时犯了太多的此类错误,这些错误导致了可被人利用的缓冲区溢出的出现。在本文中,我将集中介绍为什么会出现缓冲区溢出及其修复的方法。 为什么会出现缓冲区溢出 出现缓冲区溢出需要具备很多条件,包括: 使转载 2012-09-24 10:11:23 · 3331 阅读 · 0 评论 -
VC调试经验
VC调试经验一、右键点击函数名"转到定义"(英文版本"go to definition")有时候总是出现"未定义符号"的信息.其实程序已经编译通过的,但是为什么总这样呢? 虽然可以编译通过,也不影响运行,但是找不到定义有时候编程很麻烦的,有大虾知道怎么弄吗?1.有可能是VA未安装正确,但是我遇到的情况是我的VA安装正确的。2.我的解决办法:删掉工程的.ncb文件后重新编译即可;以前转载 2012-10-29 15:56:14 · 603 阅读 · 0 评论 -
希尔排序Shell Sort
转自:http://qubernet.blog.163.com/blog/static/177947284201111992620984/(总结了22个排序算法,很全面!)希尔排序Shell Sort是基于插入排序的一种改进,同样分成两部分,第一部分,希尔排序介绍第二部分,如何选取关键字,选取关键字是希尔排序的关键第一块希尔排序介绍准备待排数组[6 2 4 1转载 2013-07-08 17:00:09 · 460 阅读 · 0 评论 -
快速排序
出自http://blog.163.com/jackie_howe/blog/static/199491347201111160196155/快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快转载 2013-07-08 16:45:03 · 438 阅读 · 0 评论 -
各种排序算法思想小结
出自http://blog.163.com/jackie_howe/blog/static/199491347201111160543169/1.选择排序 基本思想: 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。第一趟:程序定位在第一个数据,拿第一个数据依次和后面的数据进行比较,如果第转载 2013-07-08 16:21:53 · 597 阅读 · 0 评论 -
设计模式
二 十三种设计模式0 引言谈到设计模式,绝对应该一起来说说重构。重构给我们带来了什么?除了作为对遗留代码的改进的方法,另一 大意义在于,可以让我们在写程序的时候可以不需事先考虑太多的代码组织问题,当然这其中也包括了应用模式的问题。尽管大多数开发者都已经养成了写代码前先 从设计开始的习惯,但是,这种程度的设计,涉及到到大局、到总体架构、到主要的模块划分我觉得就够了。换句话说,这时就能写代码了转载 2013-07-09 18:51:50 · 564 阅读 · 0 评论 -
this指针
1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。转载 2012-09-17 18:29:42 · 261 阅读 · 0 评论 -
C和C++几点区别
转自:http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/19/2646194.html区别一:首先,必须要提及的是我是ACM出身,搞了一年半和教练%¥#¥#%#¥~~~(呵呵,不说了~~),也就是说,我最初接触到的是面向过程的思想,很显然了,我的编程语言那个时候是C语言,后来接触到了C++就开始了面向对象的编程,那个时候我们也转载 2012-09-17 17:40:18 · 570 阅读 · 0 评论 -
几种调用约定
原文出自:http://www.cnblogs.com/BeyondAnyTime/archive/2012/05/24/2517269.html调用约定(Callingconvention)决定以下内容:函数参数的压栈顺序,由调用者还是被调用者把参数弹出栈,以及产生函数修饰名的方法。MFC支持以下调用约定:1._cdecl按从右至左的顺序压参数入栈,由调用者把参数弹出栈。转载 2012-09-17 18:42:12 · 493 阅读 · 0 评论 -
静态连接库和动态链接库
原文地址:http://www.cnblogs.com/Winston/archive/2008/07/05/1236273.html1.什么是静态连接库,什么是动态链接库 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EX转载 2012-08-09 22:37:49 · 598 阅读 · 0 评论 -
windows下的dll文件和linux下的.so文件
转自:http://blog.sina.com.cn/s/blog_66e717d70100h9mi.html在开发上来说,是有一点区别的。 .so文件没有入口函数的概念。而dll却有,虽然不是必须。 .so会导出所有在头文件中定义的符号。而dll却需要使用特殊关键字指名应该导出那些。 .so文件是elf格式的,可以不连接某些静态库,而等应用程序去连接。而dll需转载 2012-08-15 22:27:50 · 2539 阅读 · 0 评论 -
VC++中bmp图象的显示
转自:http://www.cnblogs.com/jjzhou1988/archive/2009/07/22/1347862.html前段时间想用VC的对话框来动态地显示一副BMP位图,查了很多篇文章发现都写的很复杂(而且貌似许多都是复制粘贴而来),真正有价值的不多.其实VC显示BMP文件是很方便的,所有的代码加在一起也不过五六行而已.因而特此将自己的经验写上blog,希望能对需要的人有所帮转载 2012-09-05 17:37:54 · 973 阅读 · 0 评论 -
VC++的链接错误LNK2005
VC++的链接错误LNK2005 编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1. 重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量转载 2012-09-05 21:43:52 · 318 阅读 · 0 评论 -
一般函数指针和类的成员函数指针
一般函数指针和类的成员函数指针转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/11/26/2264709.html函数指针是通过指向函数的指针间接调用函数。函数指针可以实现对参数类型、参数顺序、返回值都相同的函数进行封装,是多态的一种实现方式。由于类的非静态成员函数中有一个隐形的this指针,因此,类的成员函数转载 2012-09-06 21:06:13 · 309 阅读 · 0 评论 -
VS2008 error C2664的解决 字符编码
VS2008 error C2664的解决VS2008里,用C++写的程序,编译时报错,error C2664解决办法:1) 更改:项目/属性/配置属性/常规/字符集选择使用多字节字符集;2) 指明字符串格式,比如“END”是具体的编码,可以通过添加L”END”或者_T(“END”)来解决。 _T实际上是定义的一个宏,位于头文转载 2012-09-28 17:54:21 · 1876 阅读 · 0 评论 -
CString,string,char*的综合比较
(一) 概述 string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中; CString (typedef CStringT > CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI), wchar_t(un转载 2012-09-14 11:35:27 · 335 阅读 · 0 评论 -
C++中四种类型转换方式
类型转换有c风格的,当然还有c++风格的。c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const对象的指针,把一个指向基类对象的指针转换成指向一个派生类对象的指针,这两种转换之间的差别是巨大的,但是传统的c语言风格的类型转换没有区分这些转载 2012-09-17 18:30:38 · 658 阅读 · 0 评论 -
malloc/free VS new/delete
1.malloc和new malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符,它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数,由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函转载 2012-09-17 18:32:00 · 518 阅读 · 0 评论 -
C++新标准库 VS C++旧标准库 VS 对C库的兼容
转自:BeyondAnyTime http://www.cnblogs.com/BeyondAnyTime/archive/2012/07/17/2594631.htmlC++标准库很大,非常大。难以置信的大。怎么个大法?这么说吧:在C++标准中,关于标准库的规格说明占了密密麻麻300多页,这还不包括标准C库,后者只是 “作为参考 ”包含在C++库中。当然,标准库并非总是越大越好,但在现在转载 2012-09-17 18:40:47 · 1124 阅读 · 0 评论 -
构造哈希(散列)函数的方法
1.直接地址法 直接地址法,就是选取关键字的某个线性函数值为哈希地址,这类函数是一一对应函数,不会产生冲突,但要求地址集合与关键字集合大小相同,因此,对于较大的关键字集合不适用。哈希函数的一般形式为: Hash(key)=a*key+b (a、b为常数)例:关键字集合为{100,300,500,700,800,900},选取哈希函数为 Hash(key)=key/100,则转载 2013-09-08 21:22:14 · 1225 阅读 · 0 评论