![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 71
SearchLife
这个作者很懒,什么都没留下…
展开
-
静态成员变量和静态成员函数(static)
静态成员变量和静态成员函数(static) 数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.非成静态员:所转载 2008-08-05 12:25:00 · 7882 阅读 · 8 评论 -
内存5个区的分配问题(转)
在C 中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作转载 2008-08-05 12:23:00 · 884 阅读 · 1 评论 -
解析VC++6中的指针
获取工具条的指针: 在缺省状态下,有一个默认的工具条AFX_IDW_TOOLBAR,我们可以根据相应的ID去获 取工具条指针,方法如下: CToolBar* pToolBar=(CToolBar*)AfxGetMainWnd()->GetDescendantWindow(AFX_ID W_TOOLBAR); 是不是很简单? 获取状态条的指针: 在缺转载 2008-08-05 16:42:00 · 873 阅读 · 0 评论 -
CRuntimeClass的应用
CRuntimeClass在MFC中的作用很重要,因为MFC利用它来进行类的动态确定,即是通过类变量来判定该变量是否为某一类的实例。由于指针的类型是可以转换的,所以时常会出现从A到B的转换导致错误。而在MFC的各种书籍中对CRuntimeClass的介绍是比较少的,在这里总结它的一些用法。1、动态确定类在MFC中CObject::IsKindOf( const CRuntimeClass*转载 2008-08-06 16:31:00 · 2779 阅读 · 0 评论 -
理解虚基类、虚函数与纯虚函数的概念
引用:http://www.cnblogs.com/MS-Frank/archive/2008/01/16/1041310.html 理解虚基类、虚函数与纯虚函数的概念 引言 一直以来都没有写过一篇关于概念性的文章,因为我觉得这些概念性的东西书本上都有并且说的也很详细写来也无用,今天突发奇想想写一写,下面就和大家讨论一下虚基类、虚函数与纯虚函数,一看名字就让人很容易觉得混乱。转载 2008-12-29 12:40:00 · 1064 阅读 · 0 评论 -
多重继承与虚基类
多重继承与虚基类 原文地址:http://cpp.ysu.edu.cn/jichu/pslyjc.htm多重继承 前面我们介绍的派生类只有一个基类,称为单基派生或单一继承。在实际运用中,我们经常需要派生类同时具有多个基类,这种方法称为多基派生或多重继承。 2.1 多重继承的声明: 在 C++ 中,声明具有两个以上基类的派生类与声明单基派生类的形式类似,只需将要继承的多个基类用逗号分开即可。转载 2008-12-29 12:42:00 · 1215 阅读 · 0 评论 -
c++经典书藉
c++经典书藉2008-08-25 14:11这是本人总结的一些认为C++比较经典的书籍,希望对大家有用下面链接好像失效了,新发一个:www.it689.net/Webs/Books/List.aspxThinking in C++ C++编程思想 C++入门书籍,不多介绍 http://www.laixp.cn/soft/sort01/sort02/do转载 2008-12-29 13:32:00 · 1336 阅读 · 0 评论 -
内联函数学习总结
1.宏代码与内联函数区别 语言支持关系: C 宏代码 C++ 宏代码 内联函数 宏代码本身不是函数,但使用起来象函数.预处理器用复制宏代码的方式代替函数调用,省去了参数压栈、生成汇编语言的CALL调用、返回参数、执行return 等过程,从而提高了速度.使用宏代码最大的缺点是容易出错,预处理器在复制宏代码时常常产生意想不到的边际效应. 对于任何内联函数,编译器在符号表里放入函数的声明(包括名字、原创 2008-12-05 11:33:00 · 1932 阅读 · 0 评论 -
汉字编码问题
汉字编码问题(转) 摘自http://www.cnblogs.com/gaowg/articles/1101542.html汉字编码问题由于常常要和汉字处理打交道,因此,我常常受到汉字编码问题的困扰。在不断的打击与坚持中,也积累了一点汉字编码方面的经验,想和大家一起分享。一、汉字编码的种类汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。1、GB2312又称国标码,由国转载 2008-12-07 18:36:00 · 8747 阅读 · 0 评论 -
文件I/O操作
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输入流中读取一转载 2008-12-08 09:45:00 · 1435 阅读 · 2 评论 -
内存映射文件
摘自 http://blog.csdn.net/Blue_Dream_/archive/2008/01/24/2062592.aspx内存映射文件 内存映射文件的概念:内存映射文件提供了一组独立的函数,使应用程序能够通过内存指针像访问内存一样访问磁盘上的文件。通过内存映射文件函数可以将磁盘上的文件全部或者部分映射到进程的虚拟地址空间的某个位置。一旦完成映射,对磁盘文件的访问就可以像访转载 2008-12-05 15:13:00 · 757 阅读 · 0 评论 -
operator int()
operator int() 悬赏分:0 - 解决时间:2008-8-21 21:36#include class C0 { public: operator int()//这个东西和下面的"1>>t;"有什么关系? { cout} }; class C1: public C0 { public: operator { cout} }; void main() { C1 t; 1>>t;原创 2008-12-05 19:48:00 · 2207 阅读 · 0 评论 -
程序计时的两种方法
一。 调用API函数GetTickCount()#include #include int main() { using namespace std; DWORD dwStartTick = GetTickCount(); for (int i=0;i { cout }DWORD dwDuration = GetTickCount() - dwStartTick; co原创 2008-12-05 20:08:00 · 1097 阅读 · 0 评论 -
如何使用 类进行文件的 I/O 处理
摘自 http://www.vckbase.com/document/viewdoc/?id=1355如何使用 类进行文件的 I/O 处理作者:Danny Kalev编译:MTT 工作室下载源代码原文出处:How to Use Classes for File I/O摘要:传统的文件 I/O 库如 Unix 的 和 ,由于其程序接口的原因,在很大程度上强制程转载 2008-12-05 14:19:00 · 579 阅读 · 0 评论 -
字节对齐与sizeof
本文主要包括二个部分,第一部分重点介绍在VC中,怎么样采用sizeof来求结构的大小,以及容易出现的问题,并给出解决问题的方法,第二部分总结出VC中sizeof的主要用法。 1、 sizeof应用在结构上的情况 请看下面的结构: struct MyStruct { double dda1;转载 2008-12-05 18:53:00 · 637 阅读 · 0 评论 -
类中的常量
类中的常量2008年03月14日 星期五 上午 00:21 有时我们希望某些常量只在类中有效。由于#define 定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用const 修饰数据成员来实现。const 数据成员的确是存在的,但其含义却不是我们所期望的。const 数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个转载 2008-12-08 12:21:00 · 743 阅读 · 0 评论 -
转c++经验
这是本人总结的一些认为C++比较经典的书籍,希望对大家有用 Thinking in C++ C++编程思想 C++入门书籍,不多介绍 http://www.laixp.cn/soft/sort01/sort02/down-12215.html C++ Primer 5 th 也是一本入门书籍,很经典,初学者多看 http://www.laixp.cn/soft/转载 2008-12-09 12:21:00 · 544 阅读 · 0 评论 -
typedef的四个用途和两个陷阱
用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针 虽然: char转载 2008-12-10 15:17:00 · 553 阅读 · 0 评论 -
数据指针、函数指针、成员函数指针
摘自http://ly4cn.cnblogs.com/archive/2005/12/17/299007.htmlC++指针探讨 (一)数据指针 指针,在C/C++语言中一直是很受宠的;几乎找不到一个不使用指针的C/C++应用。用于存储数据和程序的地址,这是指针的基本功能。用于指向整型数,用整数指针(int*);指向浮点数用浮点数指针(float*);指向结构,用对应的结构指针(转载 2008-12-10 17:42:00 · 1746 阅读 · 0 评论 -
C++堆、栈、自由存储区、全局/静态存储区和常量存储区
摘自http://blog.csdn.net/sws9999/archive/2008/07/25/2707347.aspx 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放转载 2008-12-09 11:13:00 · 610 阅读 · 0 评论 -
给C++初学者的50个忠告(z)
1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,转载 2008-12-09 12:17:00 · 519 阅读 · 0 评论 -
简明分析C/C++内存分配的解决方案
简明分析C/C++内存分配的解决方案http://developer.51cto.com 2008-12-01 09:09 佚名 Chinaitlab 我要评论(0)摘要:C/C++的内存分配是很费时的,更糟糕的是,随着时间的流逝,内存将形成碎片,所以一个应用程序的运行会越来越慢。本方将为您讲解C/C++的内存分配的解决方案。 标签:C C++内存分配 内转载 2008-12-10 14:07:00 · 1055 阅读 · 0 评论 -
typedef用法详解
也许新手用这个关键字不多,但它却是一个很有用的关键字,可以使代码模块化程度更好(即与其它代码的关联较少),在C++中还是实现Traits技术的基础,也是模板编程的基本语法之一。若说变量定义是为变量命名,而typedef(或称为类型定义)就是为类型命名。既然都是命名,那就会有很多类似的地方。而变量定义我想大家都会使用,因此类型定义也必然会使用。类型定义的语法可以归结为一句话:只要在变量定义前面加上转载 2008-12-10 14:46:00 · 1135 阅读 · 1 评论 -
C++开发常用工具“群英会”
开发环境 ---->Turbo c DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:) ---->Visual C++ 6.0/7.0 稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。Microsoft的经典之作,功能强大自不必言说。附带的一些工具也很不错,比如:Spy++。但转载 2008-12-10 15:32:00 · 649 阅读 · 0 评论 -
C++的iostream标准库介绍
C++的iostream标准库介绍 摘自http://www.stlchina.org/twiki/bin/view.pl/Main/STLIOStreamIntro作者:管宁 C++的iostream标准库介绍 0 为什么需要iostream 1 iostream: istream 和 ostream 2 fstream: ifstream 和 ofs转载 2008-12-10 16:21:00 · 990 阅读 · 0 评论 -
类型转换
摘自http://blog.chinaunix.net/u/32870/showart_286367.html在C++中存在两种转换:隐式转换和显式转换(强制转换)。 一、隐式类型转换 C++定义了一组内置类型对象之间的标准转换,在必要时它们被编译器隐式地应用到对象上。隐式类型转换发生在下列这些典型的情况下; 1、在混合类型的算术表达式中。在这种情况下,最宽的转载 2008-12-09 10:32:00 · 747 阅读 · 0 评论 -
“堆” 和“自由存储区”的区别?“全局/静态存储区”和“常量存储区”的区别?难道仅仅是C 和 C++本身的区别
http://topic.csdn.net/u/20070321/14/abcea6e3-e0cb-4a69-85f0-8588710b4dac.html 看过这样的文章: http://blog.csdn.net/welcome_ck/archive/2004/12/24/227961.aspx 在里面,将内存划分为5个部分,如下: 五大内存分区 在C++转载 2008-12-09 17:19:00 · 3589 阅读 · 0 评论 -
如何用C++进行内存分配
很多人都觉得学习C++是特别困难的事情。C++学习是比较复杂的:它的内存分配、指针、以及面向对象思想的实现等等,确实需要一定的技术积累。我们将以专题的形式,为大家逐一剖析c++的技术重点和难点。 本专题讨论的就是内存分配。学习c++如果不了解内存分配是一件非常可悲的事情。而且,可以这样讲,一个C++程序员无法掌握内存、无法了解内存,是不能够成为一个合格的C++程序员的。 一转载 2008-12-09 17:28:00 · 656 阅读 · 0 评论 -
C++中函数指针数组的使用
笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* buffer和 int length,buffer是数据的首地址,length表示这批数据的长度。数据的特点是:长度不定,类型不定,由第一个字节(buffer[0])标识该数据的类型,共有256(28 )种可能性。我的任务是必须对每一种可能出现的数据类型都要作处理,并且我的模块包含若干个函数转载 2008-12-10 14:17:00 · 770 阅读 · 0 评论 -
《C++ Primer 第四版》笔记与勘误1
《C++ Primer 第四版》笔记与勘误1---------------------------------以下笔记按在书中出现的先后顺序来记载:P6 coutP7 一般出现空格符的地方都可以用换行符替代,只有两个例外:一是预处理指示中,二是字符串文字量中。P23 默认情况下,读cin或程序结束时,都会刷新cout。cerr不带缓冲,clog则带。P23 表达式是最小的计转载 2008-12-10 14:57:00 · 1519 阅读 · 0 评论 -
cin用法介绍(特别是学习了cin.clear和cin.sync)
cin用法介绍 摘自http://hi.baidu.com/jrckkyy/blog/item/0a4a3026b10a8f128b82a184.html2008年06月04日 星期三 下午 01:11第一次搞cin,真是搞昏人了,现在逐渐开始明白是什么东东,一起探讨一下吧! 首先大家要知道cin是怎么一回事,为什么要有?在C中,输入输出要用printf和s转载 2008-12-10 17:31:00 · 17716 阅读 · 16 评论 -
用C实现多线程
#include #include DWORD WINAPI funA(LPVOID lp) { int i=1; int sum=0; for(i=1;i sum=sum+i; printf("a[0] thread print:%d/n",sum); return 0; } DWORD WINAP转载 2008-12-09 12:23:00 · 879 阅读 · 0 评论 -
C++内存分配问题
写得比较好: C++内存分配问题 网上看到,感觉讲得很清晰,刚好能解答我上次的笔试题 char* r = "hello word!"; char b[]="hello word!" *r = w; *b=w; 其实应该是语法错误,可是VC++6.0没有警告或者错误,r指向的是文字常量区,此区域是编译的时候确定的,并且程序结束的时候自动转载 2008-12-09 17:29:00 · 723 阅读 · 0 评论 -
fstream详解
文件是在计算机内存中以二进制表示的数据在外部存储介质上的另一种存放形式。 文件通常分为二进制文件和文本文件。 二进制文件是包含在 ASCII 及扩展 ASCII 字符中编写的数据或程序指令的文件。一般是可执行程序、图形、图象、声音等等文件。 文本文件(也称为ASCII文件):它的每一个字节存放的是可表示为一个字符的ASCII代码的文件。它是以 “行”为基转载 2008-12-10 16:08:00 · 1058 阅读 · 0 评论 -
用rand()和srand()产生伪随机数的方法总结
摘自:http://bbs.gameres.com/showthread.asp?threadid=71572标准库(被包含于中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参转载 2008-12-12 21:51:00 · 665 阅读 · 0 评论 -
数组引用(C++)
摘自:http://blog.vckbase.com/bruceteen/archive/2004/05/20/232.aspx"数组引用"以避免"数组降阶"(本文曾贴于VCKBASE/C++论坛)受[hpho]的一段模板函数的启发,特写此文,如有雷同,实在遗憾。数组降阶是个讨厌的事,这在C语言中是个无法解决的问题,先看一段代码,了解什么是"数组降阶"#include using转载 2008-12-14 11:41:00 · 748 阅读 · 0 评论 -
c++流缓冲学习---rdbuf()
摘自:http://blog.csdn.net/freedom0203/archive/2008/08/21/2807210.aspx我们使用STL编程的时候有时候会想到把一个流对象指向的内容用另一个流对象来输出,比如想把一个文件的内容输出到显示器上,我们可以用简单的两行代码就可以完成。 ifstream infile("test.txt");cout 上面的代码就把infil转载 2008-12-14 18:07:00 · 894 阅读 · 0 评论 -
历代的windows画面
摘自:http://blog.cfan.com.cn/html/64/241164-35565.html第1页:1981年 Windows 1.0 1981年,微软开始了“界面管理器”(Interface Manager)的开发,它就是后来的Windows。虽然是Windows的前身,“界面管理器”中却没有一个“Window”,而是纯粹用字符堆砌起来的。尽管简陋之极,但是微软想让计转载 2009-02-25 19:55:00 · 1629 阅读 · 0 评论 -
文件中查找字符串(自己写的两种方法,便于以后直接用了)
替换文件中“c++”字符串后的字符: #include #include #include 方法1:读一行再分析 ( 到最后一行好像替换不了,有时间再看看)int main(){ using namespace std; fstream fs("a.txt",ios::in|ios::out); if (!fs) { cout exit(EXIT_FAILURE); }原创 2008-12-15 17:41:00 · 2134 阅读 · 0 评论 -
堆 栈 程序 内存分配 详解
堆和栈的区别一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。转载 2008-12-15 22:01:00 · 1494 阅读 · 1 评论