![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 78
etherlai
这个作者很懒,什么都没留下…
展开
-
作用域及域作用符
先来阐述一下各个作用域1、局部作用域:函数名{},作用域为 {}内从声明处开始到“ }” 结束。例如{...int a; //从此处以下到“}”是a的局部作用域...} 2、类作用域:类的 定义的{ 开始 到 } 结束 这个和1 不同,一个属性成员在类内是全局的3、名字空间作用域:一个在名字空间定义中声明的标识符,它的作用域从原创 2013-08-18 20:46:47 · 1091 阅读 · 0 评论 -
C语言字节对齐
一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果转载 2014-06-06 08:24:29 · 543 阅读 · 0 评论 -
运算符重载规则
重载运算符的函数一般格式:函数类型operator 运算符名称(形参表列){对运算符的重载处理 }重载运算符遵循规则:(1)C++不允许自定义新的运算符,只能重载已有运算符。(2)五种运算符不能重载:“.”、“.*”、“::”、“sizeof”、“?:”(3)重载不能改变运算对象个数,即双目仍为双目、单目仍为单目。(4)重载不能改变运算符优先级。原创 2013-08-15 16:42:18 · 2083 阅读 · 0 评论 -
引用作为函数返回类型
格式:类型标识符 &函数名(形参列表及类型说明){ //函数体 }好处:在内存中不产生被返回值的副本;(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的。因为随着该局部变量生存期的结束,相应的引用也会失效,产生runtime error!举例分析:#include using namespace std; int a = 4; //函数返回a原创 2013-08-16 19:17:09 · 1215 阅读 · 0 评论 -
静态数据成员及静态成员函数
静态数据成员:作用:实现同类的多个对象之间的数据共享,且又避免了使用全局变量实现数据共享的不安全性。(1)以关键词static开头.(2)为各对象所共有,对象分配的空间中不包含静态数据成员所占空间。(3)静态数据成员在对象外单独开辟空间,其空间不随对象的建立和撤销的影响,静态数据成员在程序编译时被分配空间,到程序结束时才释放空间。(4)静态数据成员可以初始化,但只能在类体外进行原创 2013-08-14 22:25:07 · 966 阅读 · 0 评论 -
链表的反转
#include #include typedef struct Node{ int data; struct Node *Next; }Node,*pNode; void InitialNode(pNode *node);//Intial Node void ReverseLink(pNode L);//reverse原创 2013-08-12 14:03:01 · 639 阅读 · 0 评论 -
C/C++ 编译、连接与执行
代码的编译连接与执行过程1.编译 一个个源文件,经过编译系统的处理,生成目标文件的过程叫做编译。编译是对一个个源文件分别处理的,因此每个源文件构成了一个独立的编译单元编译过程中不同的编译单元互不影响。a.cpp和b.cpp这两个源文件经过编译后,在Linux下会生成a.o和b.o两个目标文件。 目标文件主要用来描述程序在运行过程中需要放在内存中的内容,这转载 2013-08-12 09:43:12 · 2088 阅读 · 0 评论 -
VC文件扩展名解读
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。(删除后再次打开工程又会重新生成) .BMP:位图资源文件。 .BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用sour转载 2013-08-02 12:57:17 · 625 阅读 · 0 评论 -
string类修改字符串常量
在看C++的string类型的时候,突然发现string类型可以对其字符串常量中的字符进行修改,而我记得字符串常量是被存储在常量存储qu原创 2013-08-08 11:09:43 · 3350 阅读 · 0 评论 -
C/C++中头文件格式
关于C/C++的头文件格式之前就有所了解,今天在看C++的时候再次看到,决定把这个记录下来。先来看一段代码:这里include"student.h"不能写成include。原因在于:""首先搜索当前目录,当前目录没有,再搜索头文件的标准目录,另外还有一个问题,来看一下下面两段代码:这两段代码都能编译通过。原因是在C++中#include using原创 2013-08-01 21:55:37 · 5699 阅读 · 0 评论 -
win7下VC6.0 注册数据库控件失败解决办法
Win 7 下使用VC6.0注册数据库控件失败的解决办法。 在win7下使用VC6.0老是会出现这样那样的问题,有时候问题真的是很奇快。这次写这篇文档的主要目的是结局win7下使用VC6.0注册数据库控件失败的问题。 (本例针对对话框程序)我们在VC6.0中庸MFC进行数据库应用程序的设计编程时会用到一些常用的数据库访问控件:比如ADO Data控件,Dat转载 2013-08-03 10:06:40 · 1724 阅读 · 0 评论 -
C/C++内存分区及各区区别
c/c++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区转载 2013-08-06 22:34:44 · 1205 阅读 · 0 评论 -
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
1.首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,只需要直接用 #import引用它既可。可以直接在Stdafx.h文件中加入下面语句来实现:[cpp] view plaincopy#转载 2013-08-08 15:19:31 · 1292 阅读 · 0 评论 -
C++多态性及虚函数
多态性一种接口,多种方法多态性可分为:静态多态性和动态多态性静态多态性(编译多态性):通过重载实现(包括函数的重载、运算符的重载)。动态多态性(运行多态性):通过虚函数实现。虚函数虚函数真正作用:突破了无法通过基类指针或引用去调用派生类对象中的成员函数的限制,从而实现了动态多态性。虚函数的使用方式虚函数的实现原理:虚函数表实现原创 2013-08-20 13:43:55 · 1144 阅读 · 0 评论 -
命名返回值优化
今天突然想到一个问题,如果在函数fun中定义一个局部对象a,然后返回该局部对象a给调用函数main,会不会专门为返回值再生成一个对象?即如以下代码所示,一共会调用多少次构造函数和析构函数呢?class A{ public: A(){cout A(const A &a){cout ~A(){cout}; A转载 2015-07-14 10:54:26 · 618 阅读 · 0 评论