自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小白的博客

游戏开发

原创 动态语言,静态语言,强类型定义语言,弱类型定义语言

<动态语言和静态语言> 我们通常说的动态语言和静态语言就是动态类型的语言和静态类型的语言。 (1)动态类型语言: 指的是程序运行期间才做数据类型检查的语言。即在执行期间才会发现数据类型的语言。 (2)静态类型语言: 指的是程序在编译阶段进行数据类型检查。编译时,其...

2018-08-13 23:43:49 180 0

原创 C++中的类型转换

C语言中的类型转换,不管什么类型都是: Type a =(Type)b; C++风格的类型转换提供了4种类型转换操作符: a. static_cast(静态类型转换) C语言中隐式类型转换的地方都可以使用C++中的静态类型转换(static_cast(静态类型转换))因C++编译器在编...

2018-08-13 23:06:28 172 0

原创 C++ typedef的用法

typedef的用途: 为已有的数据类型重新命名。 <1. 基本类型> int a=10; //为整型重新命名 typedef int ZS; ZS b=10; <2. 结构体的使用> a. 为结构体重新命名: //ST--...

2018-08-12 23:48:59 7906 0

原创 C++ 面试题(字符串操作)

<1.字符串拷贝> 思路分析: a. 确定被拷贝的数组的内存大小是否小于等于目标数组的内存大小; b. 拷贝数组; c. 目标数组最后一个字符为空字符(‘\0’)。 //str1:被拷贝的数组 str2:目标数组 len:目标数组的长度 bool stri...

2018-08-12 23:31:51 2320 0

原创 数据结构与算法冒泡排序

冒泡排序的基本思想: 两两比较相邻的元素,如果反序则交换,直到没有反序的元素为止。 <一. 冒泡排序的初级版(交换排序)> 交换排序: 当前位置的元素与后面的元素比较。 //冒泡排序初级版(交换排序)--->当前位置的元素与后...

2018-08-08 15:21:17 977 0

原创 C++ 类模板中static关键字

类模板中的static成员变量是所有的模板类共享,还是每个模板类都有自己的static成员变量。 template<typename T> class TA { public: static T a; public: TA() { ...

2018-08-07 18:15:31 659 0

原创 C++ 类模板

文章概述 类模板出现的原因; 几个重要概念的区分; 单个类模板语法: 继承中的类模板语法; 类模板语法知识体系梳理 类模板出现的原因 两个或者多个类的功能是相同的,仅仅是数据类型不同。类模板将数据类型和算法实现了分离。 几个重要概念的区分 函数模板和模板函数? 函...

2018-08-07 18:00:12 121 0

原创 C++ 函数模板(2)

文章概述 C++编译器是如何提供函数模板的机制? 解决这个问题之前,我们探究一下C++编译器的原理(如何将高级语言转化为计算机能够识别的低级机器指令) 编译器编译原理 我们首先区分以下几个概念: a. 编辑器: 用来让程序员优雅的敲代码; 常见的编辑器: Sublime,Vim。...

2018-08-07 13:18:27 316 0

原创 Cocos2d-Lua 开发环境配置(windows)

(最好用Google Chrome浏览器) <一.安装Cocos2d-Lua(运行环境)> 在http://cocos2d-lua.org/download/index.md中下载Cocos2d-Lua版本。 我学习的是Quick-Cocos2dx-Communit...

2018-08-07 01:09:53 1894 0

原创 Lua 在Windows下的运行环境搭建

掌握lua语言,搭建在Windows下的开发调试环境,安装Lua For Windows这套工具。 <一.下载并且安装:> Lua For Windows 的官方网站:(推荐5.1) http://code.google.com/p/luaforwindows/ ...

2018-08-06 23:46:24 7125 0

原创 C++ 模板,普通函数,类声明和定义放置位置区别

当我们调用一个函数时,编译器只需要掌握函数的声明即可。类似的,我们使用一个类类型的对象时,类的定义必须是可用的,但成员函数的定义不必已经出现。因此,我们将类定义和函数声明放置在头文件中,普通函数和成员函数的定义放置在源文件中。 模板则不同,为了生成一个实例化版本,编译器需要掌握函数模板或者类模板...

2018-08-04 11:14:01 1293 0

原创 C++ 空字符('\0')和空格符(' ')

从字符串的长度:——>空字符的长度为0,空格符的长度为1 char a[] = "\0"; char b[] = " "; cout << strlen(a) <&...

2018-08-02 23:53:40 18271 0

原创 C++ Sizeof运算符与Strlen函数

sizeof运算符用于返回变量,对象,数据类型的字节长度。 int var =10; int len =sizeof(var); int len02=sizeof(int); sizeof运算符也可以用于数组: int arr[3]={1,2,3}; int len = sizeof...

2018-08-02 23:34:24 73 0

原创 C++ 函数模板(1)

文章概述 为什么会出现函数模板 函数模板的定义 函数模板的语法 函数模板当参数 函数模板遇上函数重载(函数模板和普通函数成为函数重载) 函数模板和普通函数调用规则研究 为什么会出现函数模板 我们有一个需求,将int,char类型的数据交换? void MySwap01(int&...

2018-08-02 13:58:14 133 0

原创 面向对象编程和泛型编程

C++不仅支持面向对象编程而且还支持泛型编程,那么我们是否在大脑中清晰的知道什么是面向对象编程和泛型编程吗?那面向过程编程了?? (1).面向对象编程简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 (2).面向过程的程序设计把计算机程序...

2018-08-02 11:10:48 1064 0

原创 C++ 类(纯虚函数和抽象类)

文章概述 纯虚函数和抽象类的基本概念; 抽象类案例; 抽象类在多继承中的应用以及工程中的多继承; 多继承的应用场景 纯虚函数和抽象类的基本概念 a. 纯虚函数是一个在基类中只有声明的虚函数,在基类中无定义。要求在任何派生类中都定义自己的版本; b. 纯虚函数为各派生类提供一个公共...

2018-07-30 13:03:07 5672 0

原创 C++ 类(多态(2))

文章概述 1.重载,重写,重定义; 2.多态的原理; 3.证明vptr指针的存在; 4.构造函数中调用虚函数,能实现多态吗? 5.父类指针步长是否和子类指针步长一样?...

2018-07-29 21:57:55 117 0

原创 C++ 类(多态(1))

文章概述 1.多态出现的背景(赋值兼容性原则遇上函数重写); 2.多态理论联系实际; 3.多态成立的3个条件; 4.多态的理论基础; 5.多态的C++实现以及多态的实现效果; 6.虚析构函数; 多态出现的背景(赋值兼容性原则遇上函数重写) a. 函数重写: 子类中定义与父类原型...

2018-07-29 17:25:29 654 0

原创 C++ 类(多继承和虚继承)

文章概述 多继承的定义以及多继承的语法; 虚继承; 多继承的定义以及多继承的语法 a. 一个类有多个基类,这样的继承关系称为多继承; b. 多继承声明语法: class 派生类名: 访问控制符 基类名1,访问控制符 基类名2 { 数据成员和成员函数声明; } c...

2018-07-29 16:00:46 11174 1

原创 C++ 类(继承中的构造和析构)

文章概述 类型(赋值)兼容性原则; 类型(赋值)兼容性原则可以分为2个情况; 继承中的对象模型(内存模型); 继承中的构造析构调用原则; 继承和组合混搭下的构造和析构; 继承中同名的成员函数和成员变量处理方法; 继承中的static关键字 类型(赋值)兼容性原则 a. 类型(赋值)兼...

2018-07-29 14:41:45 8079 0

原创 C++ 类(继承的基础知识)

文章概述 类之间的关系; 继承的基础知识; 派生类的语法定义; 继承的重要说明; 派生类的访问控制; 派生类访问控制的结论; 类之间的关系 1.包含关系: A类中的一个数据成员是B类。 2. User关系: A类部分使用B类。通过类之间的成员函数的相互关系。定义友元函数或者对象...

2018-07-29 12:53:54 13056 0

原创 C++ 类(经典案例)

文章概述 本篇文章主要是通过两个经典案例熟悉运算符重载以及自己实现数组类; 初始化的时候可以用NULL,但是赋值的时候不可以的。 实现数组类 需求: a.能够设置数组的元素 b. 用一个对象初始化另一个对象 c.获取元素 //a.能够设置数组的元素 b. 用一个对象初始化另...

2018-07-23 13:48:36 5850 0

原创 C++ 类(const修饰普通成员函数)

文章概述 const修饰普通成员函数 全局函数和成员函数 const修饰普通成员函数 我们知道this指针指向的是具体的对象,普通的成员函数存在(加深记忆),设计this指针的时候格式为*const this(常量指针)。我们看下面的代码: //对于这个普通的成员函数const其实...

2018-07-21 16:23:15 3144 3

原创 C++ 类(面向对象初探)

文章概述 我们需要解决这几个问题: a. C++类对象中的成员变量和成员函数是一起存储的吗?如果不是? b. C++编译器如何管理类和对象,具体的说就是对象调用类中的方法,C++编译器是如何区分哪个具体的对象调用哪个成员方法的? C++类对象中的成员变量和成员函数是一起存储的吗?如果不...

2018-07-21 15:34:59 298 0

原创 C++ 类(静态成员和静态函数)

文章概述 静态成员变量 静态成员函数 class A { public: static int x; public: static void Func(){} } int A::x=10; 静态成员变量 a. 关键字static用于说明一个类的成员变量时,该成员...

2018-07-21 15:01:46 6726 0

原创 C++ 类(new和delete运算符)

文章概述 new和delete运算符 new和delete运算符 a. new/delete 是C++的运算符;类似于malloc/free,程序运行(动态)得开辟内存空间(堆); b. new 可以为内置类型的变量开辟空间,数组变量,类的对象开辟空间。这是在堆上开辟内存,返回一个...

2018-07-21 14:32:25 6720 1

原创 C++ 类(构造函数的成员初始化列表)

文章概述 构造函数的成员初始化列表 构造函数的成员初始化列表 下面的代码分析了什么时候使用成员初始化列表: class A { private: int a; public: A(int a) { this-&...

2018-07-21 13:29:52 3287 1

原创 C++ 类(深拷贝和浅拷贝)

文章概述 1.浅拷贝和深拷贝 上一篇文章中,我们提到必要的时候必须手动的写拷贝构造函数。那什么是必要的时候,我们这篇文章分析。 浅拷贝和深拷贝 我们首先要知道默认拷贝构造函数可以完成对象的数据成员简单的复制,这也称为浅拷贝。对象的数据资源是由指针指向的堆时,默认的拷贝构造函数只是将指针...

2018-07-21 00:24:41 6467 0

原创 C++ 类(构造函数和析构函数)

文章概述 构造函数和析构函数的由来? 构造函数和析构函数的基本语法 C++编译器构造析构方案 PK 对象显示初始化方案 构造函数的分类以及调用 默认的构造函数 构造函数调用规则 构造函数和析构函数的总结 构造函数和析构函数的由来 类的数据成员不能在类的声明时候初始化,为了解决这个问题...

2018-07-20 19:00:51 11587 0

原创 C++ 类(封装和访问控制)

文章概述 类,对象,成员变量,成员函数的基本概念 面向对象的3大概念以及类的封装 访问修饰符 struct和class的区别 类,对象,成员变量,成员函数的基本概念 a. 类: 以面向对象的方式开发应用程序时,将遇到的各种事物抽象成类。用户通过实例化类的方式访问类中的数据和成员。 ...

2018-07-20 16:29:36 172 0

原创 C++ 类(运算符重载(3))

文章概述 重载左移操作符和右移操作符 重载等号操作符 重载左移操作符和右移操作符 a. 我们首先知道<<,>>的顺序是从左往右执行的。 int a=2; //cout<<a; cout&...

2018-07-20 11:20:26 1096 0

原创 C++ 类(运算符重载(2))

文章概述 定义运算符重载的步骤 使用成员函数和友元函数重载二元运算符 使用成员函数和友元函数重载一元运算符 上一篇,我们已经熟悉重载运算符的理论知识,这篇主要是实际操作(代码)。 定义运算符重载的步骤 a.我们首先要知道根据操作数的个数将运算符分为一元运算符和二元运算符。 b.定...

2018-07-19 19:43:26 302 0

原创 C++ 类(运算符重载(1))

文章概述 运算符重载出现的原因 运算符重载的定义以及好处 运算符重载的本质 运算符重载的语法 使用成员或者友元函数重载运算符的特点 运算符重载出现的原因 C++编译器知道内置类型如何进行计算,但是默认情况下不知道自定义数据类型是如何进行计算的。C++编译器为程序员提供了一种机制让自定...

2018-07-19 17:46:40 162 0

原创 C++ 类(友元函数和友元类)

文章概述 1.友元函数 2.友元类 我们知道类的私有属性只能在类的内部访问, 能不能通过一种途径可以在类的外部访问? 答案是有的,友元函数。 友元函数 a. 友元函数的作用: 可以在类的外部访问类的私有属性,但是会破坏类的封装。 b. 友元函数的格式: friend 函数返回类型 ...

2018-07-19 16:56:20 1597 0

原创 C++ 引用

文章概述 引用的定义以及格式 引用的初始化 引用的本质 函数的返回值是引用 指针的引用以及常量引用 引用的定义以及格式 a. 引用的定义: 对已定义的变量起的别名。定义引用的时候,必须绑定已定义好的变量。 b. 引用的格式: Type & name...

2018-07-15 23:52:10 104 0

原创 C++ 指针和const

文章概述 指向常量的指针 常量指针 顶层const和底层const 指向常量的指针 a. 指向常量的指针通过实例说明: //其中b就是指向常量的指针 const int a = 10; const int*b =&a; b. 指向常量的指针表示的是不能通过指...

2018-07-12 16:34:40 148 0

原创 C++ const的引用

文章概述 常量引用的定义 常量引用初始化以及分析常量引用 常量引用的定义 a. 常量引用 : 将引用绑定到const对象上(其实就是对const的引用)。 //常量引用的格式:const int &a。 const int & a = 10;...

2018-07-12 15:29:38 2332 0

原创 C++ 常量和const

文章概述 C++中的常量 const的说明 const的引用 4. C++中常量 a. 常量: 其值在程序运行的过程中不会发生改变,但是定义常量的时候可以设置初始值。 C++中使用const关键字来定义一个常量。 //a是常量 const int a=10; b. 对于常量,...

2018-07-12 14:57:57 6436 1

原创 C++ 枚举类型和共用体类型

文章概述 我们主要学习的是: 1. 枚举类型; 2. 共用体类型; 枚举类型 a. 枚举类型的定义以及枚举类型的格式? 枚举类型提供了一组常量的集合。 C++中可以使用关键字enum定义枚举类型,下面是枚举类型的格式: //enum 枚举类型名 {常量1,常量2...

2018-07-11 11:07:50 186 0

原创 C++ 结构体

文章概述 结构体的定义; 定义结构体变量的几种方式; 访问结构体变量以及结构体变量赋值; 定义结构体变量,编译器会分配多大内存的空间。 结构体的定义 a. 结构体出现的背景 为了表示一些复杂的数据,普通的基本变量无法满足需求。 b. 结构体:表示不同类型变量的集合。通常将...

2018-07-11 10:04:12 2392 0

提示
确定要删除当前文章?
取消 删除