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