
C++
文章平均质量分 70
眷恋0110
这个作者很懒,什么都没留下…
展开
-
编译与连接
深入编译与链接全局变量、静态局部变量、静态局部变量属于数据。局部变量属于指令。.data存储已初始化的且不为0的数据.bss存储未初始化的或初始化为0的数据(不存在于文件中,节省了原创 2017-10-28 23:58:22 · 324 阅读 · 0 评论 -
函数调用堆栈
1.函数调用堆栈 压栈 调用函数: 1.压入形参变量的地址和值 2.压入函数调用返回后要执行的指令的地址 被调用函数: 1.压入调用函数的栈底指针,把栈底指针寄存器指向被调用函数的栈底 2.开辟被调用函数的栈帧大小,并初始化为CC清栈 被调用函数原创 2017-10-29 23:25:39 · 283 阅读 · 0 评论 -
面向对象的语言C++
C++三大特征:封装、继承、多态访问限定符:1、public 任意位置都能访问2、protected 子类可以访问父类中的保护成员3、private 只有在类中才能访问定义一个类:class CGoods //类名首字母大写,以C开头表示class{public: void Register(char *name,int amou原创 2017-11-12 11:04:43 · 500 阅读 · 0 评论 -
C与C++的区别(一)
一、带有默认的函数 形参变量的默认值从右往左给,例如 int sum(int a,int b=20); 下面来看两个例子: int sum(int a,int b=20); int sum(int a,int b=20); //错误,因为在一个文件中,声明可以无数次,但默认值只能给一次 int sum(int a,int原创 2017-10-31 00:11:30 · 547 阅读 · 0 评论 -
C++中类的6个默认函数
类的6个默认的成员函数包括:构造函数、析构函数、拷贝构造函数、赋值运算符重载函数、取地址操作符重载、const修饰的取地址操作符重载。以下详细介绍前四个函数。一、构造函数构造函数:初始化对象的内存地址空间。CGoods(){ _name=new char[1];}实例化一个对象:1、分配对象内存空间2、调用对象的构造函数初始化:定义的同时原创 2017-11-12 12:15:02 · 309 阅读 · 0 评论 -
类对象的生存周期
请先来看一段代码#include#includeusing namespace std;class CGoods{public: CGoods(){} CGoods(float){} CGoods(char *name,int amount,float price) { _name=new char[strlen(name)+1]; strcpy(_name,n原创 2017-11-14 17:01:35 · 291 阅读 · 0 评论 -
野指针
一、定义野指针指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单的if判断是否为 NULL避免,而只能通过养成良好的编程习惯来尽力减少。二、产生原因 (1)指针变量未初始化任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。 (2)指针释放后之后未...原创 2018-07-13 16:36:21 · 178 阅读 · 0 评论