c++
wh_0727
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++:虚拟地址空间、编译链接过程
1.虚拟地址空间: 在Linux下的虚拟地址空间中,用户空间、内核空间以3:1划分,即3G大小的用户空间和1G大小的内核空间,具体各区域划分如图: 小补充:思考全局变量与局部变量各自存储在什么段? #include<iostream> int gdata1=10;//.data int gdata2=0;//.bss int gdata3;//.bss ...原创 2018-11-13 19:13:13 · 502 阅读 · 0 评论 -
C++:调用约定、返回值的返回方式、函数的默认值
一、调用约定 注:Sum表示函数名,红色字母表示调用约定,第一个H表示函数返回值类型为int,第二三个H表示形参类型为int 1.__cdcal:c标准调用约定 //?Sum@@YAHHH@Z __cdecl由调用方进行形参开辟栈区,参数从右至左入栈,然后由调用者清理栈区。 2.__stdcall:windows调用约定 //?Sum@@GZ...原创 2018-11-13 20:54:29 · 751 阅读 · 0 评论 -
C++:引用、const
一、const 我们都知道const 修饰符修饰一个变量,使用const修饰之后,这个变量相当于常量了,它的值在代码其他部分不能再修改,这对于函数调用时候,防止错误的修改原本不应修改的变量起到很大作用。 在C语言中,const修饰常变量:在编译阶段常变量没有左值,其他和普通变量处理相同。 在C++中,const修饰的是常量:在编译阶段把用到常量的地方替换成常量初始值。 使用...原创 2018-11-23 20:40:26 · 200 阅读 · 0 评论 -
C++:new/delete、namespace
一、new/delete(动态开辟/释放) 在C语言中我们使用malloc动态开辟,free释放 在C++中我们使用关键字 "new"动态开辟,delete释放 1.定义: 动态开辟:new + 类型 变量:int *p=new int(10); // (值) ...原创 2018-11-23 20:57:11 · 200 阅读 · 0 评论 -
C++:函数的堆栈调用过程
一、函数的堆栈调用 以简单求和代码为例具体分析: #include<iostream> int Sum(int a ,int b) { int tmp=0; tmp=a+b; return tmp; } int main() { int a=10; int b=20; rt=Sum(a,b); return 0; ...原创 2018-11-13 20:49:06 · 611 阅读 · 0 评论 -
C++:函数的重载、inline函数、C/C++相互调用
一、重载(overloading) :函数名字相同,而参数不同。返回类型可以相同也可以不同。 若有题目为:实现两个数相加,一般我们都会想到如下代码: int Sum(int a,int b) { return a+b; } 但事实我们考虑并不全面,因为并没有给出要求是实现两个整型数相加,我们还需要考虑double、float等等其他类型,需要全面考虑,但之前在c语言中不允...原创 2018-11-23 19:00:37 · 496 阅读 · 0 评论 -
C++:类和对象
1.概念:根据下图我们可以直观的了解类和对象 类:对现实生活中事物的描述 对象:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。 注:ADT为抽象数据类型 2.创建: [修饰符] class类名 { private: 成员变量; public: 成员方法 } C++三大特征:封装...原创 2018-11-27 19:25:34 · 314 阅读 · 0 评论 -
C++:单例模式
1.概念:单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。 2.单例模式设计方式: ① 将构造、拷贝构造屏蔽; ② 在类中提供一个唯一接口、生成唯一对象; 简单单例模式代码: class SingleTon { public: static Si...原创 2019-02-25 17:19:01 · 243 阅读 · 0 评论
分享