-
关于C++内存问题(转)
所属栏目:[大数据] 日期:2021-05-20 热度:189
? 从总体上程序的内存空间可分为代码区和数据区。 从C++的角度来看数据区又可作如下划分: 1. 自动存储区(栈):自动(局部)变量、寄存器变量(声明的寄存器变量可能在寄存器中,也可能在一般内存中。在逻辑上寄存器属于自动存储区。)、临时对象以及函数参数[详细]
-
C++中对文件进行读写操作
所属栏目:[大数据] 日期:2021-05-20 热度:129
#include "stdafx.h" #includefstream #includeiostream #includecmath using namespace std; //从键盘上读取字符的函数 void read_save(){ char c[80]; ofstream outfile("f1.dat");?????? //以输出方工打开文件 if(!outfile){ ?? cerr"open error!"endl; /[详细]
-
C++内存分配的五种方法的区别
所属栏目:[大数据] 日期:2021-05-20 热度:54
? 栈 ,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆 ,就是那些由new分配的内存块,它们的释放编译器不管,而是由程序员自己去控制,一般一个new就要对应一个delete。如果程序员没[详细]
-
深入浅出MFC文档/视图架构之框架(2)
所属栏目:[大数据] 日期:2021-05-20 热度:125
? (2)CMDIFrameWnd类用于MDI应用程序的主框架窗口,主框架窗口是所有MDI文档子窗口的容器,并与子窗口共享菜单;CMDIFrameWnd类相较CFrameWnd类增加的重要函数有:MDIActivate(激活另一个MDI子窗口)、MDIGetActive(得到目前的活动子窗口)、MDIMaximize[详细]
-
深入浅出MFC文档/视图架构之框架(1)
所属栏目:[大数据] 日期:2021-05-20 热度:127
? 从前文可知,在MFC中,文档是真正的数据载体,视图是文档的显示界面,对应同一个文档,可能存在多个视图界面,我们需要另外一种东东来将这些界面管理起来,这个东东就是框架。 MFC创造框架类的初衷在于:把界面管理工作独立出来!框架窗口为应用程序的用户[详细]
-
深入浅出MFC文档/视图架构之相互关系(2)
所属栏目:[大数据] 日期:2021-05-20 热度:107
2. 消息流动机制 在基于"文档/视图"架构的MFC程序中,用户消息(鼠标、键盘输入等)会先发往视图,如果视图未处理则会发往框架窗口。所以,一般来说,消息映射宜定义在视图中。另外,如果一个应用同时拥有多个视图而当前活动视图没有对消息进行处理则消息也[详细]
-
深入浅出MFC文档/视图架构之相互关系1
所属栏目:[大数据] 日期:2021-05-20 热度:174
1、模板、文档、视图、框架的关系 连载1~5我们各个击破地讲解了文档、文档模板、视图和框架类,连载1已经强调这些类有着亲密的内部联系,总结1~5我们可以概括其联系为: (1)文档保留该文档的视图列表和指向创建该文档的文档模板的指针;文档至少有一个相关[详细]
-
C++中extern “C”含义深层探索
所属栏目:[大数据] 日期:2021-05-20 热度:99
? 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属[详细]
-
寻找链表中间节点-一种高效的算法
所属栏目:[大数据] 日期:2021-05-20 热度:54
?2008-09-19 20:55 链表(特别是单链表)的定位是链表这种数据结构的一个软肋所在,定位某一个元素你 就不得不通过遍历的方式获得。如果要寻找一个单链表的中间节点,普通的方法就是先遍历得到链表的长度,然后再通过长度遍历得到链表的中间节点。当然有一些[详细]
-
C++基本特性(转)
所属栏目:[大数据] 日期:2021-05-20 热度:194
? 2008-09-19 19:53 1.通常来说结构体和类可以通用!(结构体可以说是一个特殊的类) 与类的区别: 在结构体默认所有成员都是public!类默认为private! 在结构体内允许有函数! struct Ponit { int x; int y; void output() { coutx endlyendl; } }; 2.protect对[详细]
-
c++基本概念
所属栏目:[大数据] 日期:2021-05-20 热度:189
1 编程基础1.1 基本概念 1. const 的理解: const char*,char const*,char*const 的区别问题几乎是 C++ 面试中每次 都会有的题目。 事实上这个概念谁都有只是三种声明方式非常相似很容易记混。 Bjarne 在他的 The C++ Programming Language 里面给出过一个助[详细]
-
C++-namespace命名空间(转)
所属栏目:[大数据] 日期:2021-05-20 热度:185
? 很多初学C++的人,对于C++中的一些基本的但又不常用的概念感到模糊,命名空间(name space)就是这样一个概念 C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突 。 当然,你也可以使用不同的名字[详细]
-
C语言中String库(1)
所属栏目:[大数据] 日期:2021-05-20 热度:54
2008-02-23 14:06 在 C 语言中,对字符串的处理非常重要,特别在一些网络设备中,处理过程会影响设备的转发和吞吐量。这里详细注释了 String.h 中的所有函数。以下内容摘自《 C 程序设计教程》(美) H.M.Deitel P.J.Deitel 著,薛万鹏等译,机械工业出版社[详细]
-
c++类实例大小
所属栏目:[大数据] 日期:2021-05-20 热度:195
初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什[详细]
-
VS2005C++连接数据库
所属栏目:[大数据] 日期:2021-05-20 热度:155
2008-06-15 06:40 #include afxwin.h #include stdio.h #import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF") void main() { CString sql; ::CoInitialize(NULL); _RecordsetPtr PRs("ADODB.Recordset"); _[详细]
-
GetModuleFileName函数
所属栏目:[大数据] 日期:2021-05-20 热度:76
GetModuleFileName 函数功能: 该函数为含有指定模块的可执行文件检索全路文件名。在Windows95中,当应用程序的版本大于可或等于4.0且可得到长文件名,则该函数返回长文件名,否则,仅返回8.3格式的文件名。 函数原型: DWORD GetModuleFileName(HMODULE hMo[详细]
-
C++中,什么是纯虚函数,什么是抽象类,什么是虚析构函数
所属栏目:[大数据] 日期:2021-05-20 热度:174
? 纯虚函数:当一个类被定义后,有一些函数往往还不能确定,这个时候为了访止乱写一个制成错误,就要用纯虚函数。没有函数体的函数。 抽象类:一个类中如果存在了纯虚函数,那么这个类只是为了描述一个大的概念,世界上不会存在真的它。 一个小例子,你不知[详细]
-
C++中内存的分配
所属栏目:[大数据] 日期:2021-05-20 热度:146
? 有一个结构A 下面是构造A的内存空间方法: 1)A* a = new A; 2)A* a = (A*)malloc(2*sizeof(A));?? 3)A* a = new A; a = (A*)malloc(2*sizeof(A)); 4)A a; 这四者的内存分配是否如下: 1)在堆里分配一个sizeof(A)大小的内存空间,a指向该内存空间首址。 2)[详细]
-
深入浅出MFC文档/视图架构之文档模板(4)
所属栏目:[大数据] 日期:2021-05-20 热度:85
? 前文我们提到,由于MFC的设计者将CSingleDocTemplate和CMultiDocTemplate的行为未进行规范的区分,它对仅仅对应一个文档的CSingleDocTemplate也提供了所谓的GetFirstDocPosition、GetNextDoc遍历操作,所以基类CDocTemplate的SaveAllModified和CloseAllDocu[详细]
-
深入浅出MFC文档/视图架构之文档模板(3)
所属栏目:[大数据] 日期:2021-05-20 热度:177
? CDocTemplate类的AddDocument、RemoveDocument成员函数使得CDocument* pDoc参数所指向的文档归属于本文档模板(通过将this指针赋值给pDoc所指向CDocument对象的m_pDocTemplate成员变量)或脱离与本文档模板的关系: void CDocTemplate::AddDocument(CDocume[详细]
-
深入浅出MFC文档/视图架构之文档(2)
所属栏目:[大数据] 日期:2021-05-20 热度:122
打开文档的函数CDocument::OnOpenDocument完成的工作包括如下几步: (1)打开文件对象; (2)调用DeleteDontents(); (3)建立与此文件对象相关联的CArchive对象; (4)调用应用程序文档对象的Serialize()函数; (5)关闭CArchive对象、文件对象。 BOOL[详细]
-
extern用法详解
所属栏目:[大数据] 日期:2021-05-20 热度:163
1 基本解释 extern可以置于变量或者 函数 前,以标示变量或者 函数 的定义在别的文件中,提示编译器遇到此变量和 函数 时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。 2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另[详细]
-
String的构造函数,拷贝构造函数、析构函数和赋值函数
所属栏目:[大数据] 日期:2021-05-20 热度:57
? 已知类String的原型为: class String { public: String(const char *str = NULL); // 普通构造函数 String(const String other); // 拷贝构造函数 ~ String(void); // 析构函数 String operate =(const String other); // 赋值函数 private: char *m_data;[详细]
-
C++基本特性(2)
所属栏目:[大数据] 日期:2021-05-20 热度:84
2008-09-19 20:06 1.继承。 父类与子类: #include iostream.h class Animal { public: void eat() { cout"Animal eat"endl; } void breathe() { cout"Animal breathe"endl; } void sleep() { cout"Animal sleep"endl; } }; class Fish : public Animal { };[详细]
-
为什么要把父类的析构函数定义成虚函数?
所属栏目:[大数据] 日期:2021-05-20 热度:160
?2008-09-19 20:48 问:为什么要把父类的析构函数定义成虚函数? 答:否则子类的析构函数可以未被调用,具体代码如下: class A { public: A(){TRACE("A()/n");}; ~A(){TRACE("~A()/n");}; }; class B : public A { public: B(){TRACE("B()/n");}; ~B(){TRACE("~B([详细]