菜狗菜
菜狗菜
全部文章
分类
C#入门(1)
C/C++进阶(9)
cocos2d_x学习笔记(2)
操作系统(1)
草稿(2)
设计模式(5)
归档
标签
去牛客网
登录
/
注册
菜狗菜的博客
全部文章
(共22篇)
右值引用、移动语义
一、右值引用 1.左值和右值 C++中的值要么是左值要么是右值。一个左值是指向一个指定内存的东西。另一方面,右值就是不指向任何地方的东西。通常来说,右值是暂时和短命的,而左值则活的很久,因为他们以变量的形式(variable)存在。我们可以将左值看作为容器而将右值看做容器中的事物。 两者区别: ①左...
2021-03-27
0
591
物理内存与虚拟内存
一、 为什么需要虚拟地址 一开始并没有虚拟内存。那个时候的计算机,程序指令所访问的内存地址就是物理内存地址. 也就是不得不把程序的全部装进内存当中,然后运行。物理内存其实就是插在计算机主板内存槽上的实际物理内存,CPU可以直接进行寻址.。物理内存的容量是固定的,但是寻址空间却取决于cpu地址线条数,...
2021-03-22
1
776
简单工厂模式/工厂方法模式/抽象工厂模式
一、简单工厂模式 1. 定义 简单工厂模式属于创建型模式又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。 2. 结构图 Factory:工厂类,简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创...
2021-03-21
2
843
C++函数中值的传递方式与实现原理分析
值传递、引用传递、指针传递 #include<iostream> using namespace std; //值传递 void change1(int n){ cout<<"值传递--函数中n的地址"<<&n<<...
2021-03-21
0
895
栈空间与堆空间等存储区域
1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。 其操作方式类似于数据结构中的栈。 2、堆区(heap) — 在内存开辟另一块存储区域。 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。 如:c中malloc和c++...
2021-03-21
0
1040
深层复制与浅层复制
浅层赋值 将pintsarray类中points size动态分配空间时候 使用系统自带的复制函数 将出现以下情况 浅层复制释放空间时候,释放完一个变量后如delete pointsarray1;pintsarray2的points size指针将找不到对应的内存地址将无法访问;而且再次释放...
2021-03-21
0
561
一道关于指针的题
void foobar(int a, int *b, int **c) { int *p = &a; *p = 101; *c = b; b = p; } int main() { int a = 1; int b = 2;...
2021-03-21
0
476
1、基本架构与数据类型
导演类Director 单例模式实现 Director* getInstance(void) //静态成员函数 用来获取对象 EGLView* getOpenGLView() //获取窗口大小对象 void setOpenGLView(Glview*) //设置窗口大小 bool isD...
2021-03-20
1
396
单例模式(Singleton Pattern)
单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用。 特点: 程序运行中一个类始终只能创建一个对象 构造方法私有化 调用静态成员方法获取对象 使用场景: Windows的Task Manager(任务管理器)、回收站:无论打开几次任务管理器都只有一个程...
2021-03-20
1
503
错题整理
内存分为:静态存储区、堆区和栈区。静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。 char* p = “Hello World1”; char a[] = “Hello World2”; p[2] = 'A'; //错误 a[2...
2021-03-16
1
500
首页
上一页
1
2
3
下一页
末页