单例
摘要:单例实现 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class Singleton { public: static Singleton* Instance() //只提供一个公有化的指针返回 {
阅读全文
静态成员变量
摘要:静态成员变量 在类定义中,它的成员(包括成员变量和成员函数),这些成员可以用关键字static声明为静态的,称为静态成员。 不管这个类创建了多少个对象,静态成员只有一个拷贝,这个拷贝被所有属于这个类的对象共享。 在一个类中,若将一个成员变量声明为static,这种成员称为静态成员变量。与一般的数据成
阅读全文
动态对象创建new运算符
摘要:对象创建 当创建一个c++对象时会发生两件事: 为对象分配内存 调用构造函数来初始化那块内存 第一步我们能保证实现,需要我们确保第二步一定能发生。c++强迫我们这么做是因为使用未初始化的对象是程序出错的一个重要原因 动态分配内存方法 为了在运行时动态分配内存,c在他的标准库中提供了一些函数,mall
阅读全文
类对象作为类成员
摘要:1.类的类成员的类中要有默认构造参数 2.构造顺序 当类对象作为类的成员时,构造顺序是先依次构造类成员的构造,然后再构造自己 3.析构顺序 析构与构造相反,先析构自己,再以相反顺序依次析构成员 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #
阅读全文
类的初始化列表
摘要:利用初始化列表来初始化数据 构造函数后面 + : 属性1(参数1), 属性2(参数2),…… class Test { public: /* Test(int a, int b, int c) { m_A = a; m_B = b; m_C = c; }*/ Test(int a, int b, i
阅读全文
深拷贝和浅拷贝
摘要:浅拷贝 同一类型的对象之间可以赋值,使得两个对象的成员变量的值相同,两个对象仍然是独立的两个对象,这种情况被称为浅拷贝. 一般情况下,浅拷贝没有任何副作用,但是当类中有指针,并且指针指向动态分配的内存空间,析构函数做了动态内存释放的处理,会导致内存问题。 浅拷贝引发的问题 深拷贝 当类中有指针,并且
阅读全文
构造函数调用规则
摘要:系统默认给一个类提供3个函数 默认构造、拷贝构造、析构函数 1.当我们有了有参构造函数,那么系统就不会再提供默认构造函数了 没有有参构造函数时: 2.但是 系统还会提供默认拷贝构造函数,即使没有定义拷贝构造,也可以直接调用,进行简单的值拷贝 3.当我们提供了拷贝构造,那么系统就不会提供其它构造了,如
阅读全文
Release优化
摘要:debug和release调试结果不同是因为release下会将代码再次优化 void test02() { Person p; p.age = 10; doWork(p); } Person doWork2() { Person p1; return p1; //复制一个新的数据返回 } void
阅读全文
构造和析构
摘要:class Person { Person() //构造 { } //可以重载和有参 ~Person() //析构 { } } 构造函数 与类名相同,不用写void 分类 参数分类:无参构造函数 有参构造函数 类型分类:普通构造函数 拷贝构造函数 #include <iostream> using
阅读全文
const修饰的成员函数
摘要:#include <iostream> using namespace std; class Cube { public: void SetL(int l) { m_L = l; } int GetL() const //只有用const修饰的方法,compareCube才能用const做形参 {
阅读全文
class和struct权限
摘要:class 成员默认权限是private struct 成员默认权限是public
阅读全文
封装加强
摘要:C语言封装 属性和行为分开处理了,类型检测不够 typedef struct _Person{ char name[64]; int age; }Person; typedef struct _Aninal{ char name[64]; int age; int type; //动物种类 }Ain
阅读全文
函数重载实现原理
摘要:编辑器为了实现重载函数,用不同类型来修饰不同的函数名,比如 void func(); 编辑器会修饰成_func 碰到void func(int x),编辑器会修饰成_func_int 碰到void func(int x , char c),可能就会修饰成_func_int_char
阅读全文
Lua模拟stack
摘要:原文引自:https://blog.csdn.net/weixin_30535913/article/details/96012323 LuaStack.lua local stack = {} stack.__index = stack function stack:new() local tem
阅读全文
函数重载
摘要:1.相同的作用域 2.有默认参数时,要注意避免二义性问题 void func(int a, int b = 20) { } void func(int a ) { } void test() { func(20); //error 不知道调用哪个 }
阅读全文
LeanTween
摘要:原文链接:https://blog.csdn.net/qq_35373690/article/details/86901002 物体本身大小 LeanTween.scale(Cube, new Vector3(0, 0, 0), 0.5f); //3个参数1.变换的物体,2变化的大小,3.时间 //
阅读全文
占位参数和默认参数
摘要:函数占位参数 占位参数只有参数类型声明,⽽而没有参数名声明 一般情况下,在函数体内部⽆无法使⽤用占位参数, 只有重载的时候才有用 占位参数可以有默认值 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; /
阅读全文
获取所有的失活的子孙物体
摘要:原文链接:https://blog.csdn.net/ChinarCSDN/article/details/80878900 查询所有失活的子孙物体 using UnityEngine; /// <summary> /// 查找物体 /// </summary> public class China
阅读全文
内联函数
摘要:早期作用是用来代替宏 宏函数的缺陷 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; //缺陷1:没有类型 //#define MyAdd(x,y) x+y //解决方法:加括号 #define MyAd
阅读全文