- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 游戏开发 c++基础学习 笔记摘要第20天
类的静态成员1.类中的成员在声明时,前面加上了static关键字,则此成员就是静态成员2.类的静态(数据和函数)成员不属于任何对象,但被所有对象所共享,不管有多少对象,静态成员只有一份存于内存中。3.在类中说明的静态数据成员属于引用性说明,必须在类的外部初始化它(且仅能说明一次) 类型 类名::静态数据成员 = 初值;4.静态(数据和函数)成员可以不通过对象访问,而是通过类访问,即使没有创建对象常量成员1.类中的成员在声明时,加了const关键字,则成员为常量成员2.常量成员在成员说明时不
2021-09-07 20:50:46 147
原创 游戏开发 c++基础学习 笔记摘要第19天
也是很久都没有更新笔记了,今天来一更友元可以允许其他类或函数访问它的非公有成员,方法是令其他类或函数成为它的友元friend 函数声明语句;友元声明只能出现在类定义的内部友元不是类的成员一般来说,最好在类定义开始或结束之前的位置集中定义友元输入输出重载只能作为友元函数友元的声明仅仅指定了访问的权限当我们希望类的用户能够调用某个友元函数,那么我们必须在友元声明外再专门对函数进行一次声明类的内存1.一个空类:1个字节2.内存对齐3.含有虚函数的类:加四个字节类成员的赋值:1.直接初
2021-08-23 15:33:26 142
原创 游戏开发 c++基础学习 笔记摘要第18天
类基本思想:数据抽象和封装数据抽象:依赖接口和实现分离的技术类的接口包括用户所能执行的操作类的实现则包括类的数据成员,负责接口实现的函数体以及定义类所需的各种私有函数封装实现了类的接口和实现的分离成员函数的声明必须在类的内部,定义可以在内部,也可以在外部非成员函数的声明的定义都放在类的外部定义在类内部的函数都是隐式的inline函数在类外部定义成员函数1.定义和声明必须匹配如果成员被声明为常量成员函数,那么定义也必须在参数列表后明确指出const属性2.类外部定义的成员的名字必须包括
2021-08-11 17:52:11 132
原创 游戏开发 c++基础学习 笔记摘要第17天
Struct结构体定义:struct 结构体名字 {成员列表};结构体变量的声明:1.先定义结构体,再说明结构变量2.在定义结构类型的同时说明结构变量3.直接说明结构变量,可以不指定结构名第二种和第三种方法区别在于第三种省去了结构名,由于该结构没有名字所以此结构在程序其他地方无法再创建新变量结构体指针 struct 结构名*结构指针变量名 struct boy * pchar; pchar =&boy1;通过指针访问成员1.指针变量->成员p->Nam
2021-08-05 20:17:52 118
原创 c++ 扫雷代码分享
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、初始化地图二、setMine函数三、getCountOfMineForPos 函数三、渲染地图三、前言扫雷这个游戏很多人都玩过,我是写这个项目之前没玩过,所以还专门去查了下扫雷的一些游戏规则,今天就分享一下我的代码把,用的是vs,头文件和main 老规矩放最下面了/font>提示:以下是本篇文章正文内容,下面案例可供参考一、初始化地图void initMap(){ // 初始化标记数组 for (
2021-08-02 21:05:26 2116 4
原创 c++之 推箱子小游戏
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码
2021-07-26 20:35:22 750
原创 游戏开发 c++基础学习 笔记摘要第16天
函数重载在同一作用域内的几个函数名字相同但形参列表不同当调用函数时,编译器会根据传递的实参推断调用哪个函数不允许两个函数除了返回类型其他要素都相同Record lookup(const Account &acct);Record lookup(const Account &);//省略了形参的名字//两个函数时相同的,形参的名字不影响形参列表内容重载和const形参顶层const不影响传函数的对象一个拥有顶层const的形参无法和另外一个没有顶层const的形参区分开Re
2021-07-26 19:53:37 204
原创 游戏开发 c++基础学习 笔记摘要第15天
关于指针的一个我觉得比较好的题都运行过,应该没啥问题可以跟着算一遍char ch[] = "hello feisi"; char *p1, *p2, *p3, *p4; p1 = ch; p2 = ch + 1; p3 = ch + 4; p4 = ch + 2; char *chArray[4] = { ch, ch + 1, ch + 4, ch + 2 }; char ** pArray = chArray + 2; cout << pArray[1][2] <
2021-07-19 10:26:11 73
原创 游戏开发 c++基础学习 笔记摘要第14天
因为最近在学指针,涉及的知识比较广,所以笔记比较杂乱,更新也可能慢很多数组形参为函数传递一个数组时,实际上传递的是指向数组首元素的指针尽管不能以值传递的方式传递数组,但可以把形参写成类似数组的形式void print(const int *);void print(const int []);void print(const int [10]);//三个函数等价//如果传给print函数的是一个数组,则实参自动转换成数组首元素指针,数组大小对函数的调用没有影响关于指针的几个题目char
2021-07-18 19:10:34 121 1
原创 游戏开发 c++基础学习 笔记摘要第13天
字符常量区 常量:100 ,‘a’,"abc"字符串也在常量区静态全局区 存储全局变量和静态变量栈区 局部变量从定义时开始分配内存,出了作用域系统回收内存临时内存堆区 程序手动申请,手动释放局部变量:形参和函数内部定义的变量局部变量会隐藏在外层作用域中同名的其他所有声明中自动对象:只存在于块执行期间的对象(形参)局部静态变量:一经创建一直存在到程序结束才释放static int sum=0;//静态变量,从程序开始系统分配
2021-07-15 09:05:25 87
原创 游戏开发 c++基础学习 笔记摘要第12天
指针指针:地址,是一种数据类型概念:为了方便访问内存中的内容,系统给每一个内存单元(字节)一个编号,该编号就是地址,也就是指针内存大小:4个字节地址是16进制的无符号整型*&a//相当于a&*pa//相当于pa,但根据右结合性,pa必须为指针int *paa=&arr[0];int *pab=&arr[3];cout<<pab-paa<<endl;//3 表明相差3个元素 两个指针可以相减,但不能相加//相差12个字节,因为类型为
2021-07-14 20:53:58 90
原创 游戏开发 c++基础学习 笔记摘要第11天
函数c语言(面向对象)实现某个功能函数定义: 返回值类型 函数名(形参表){函数体;}函数调用:函数名(参数表:实参表)实参表:必须和形参表类型,个数,顺序一样实参:可以是常量,变量以及表达式函数调用过程1.给形参分配临时内存,把实参的值传给形参2.进入被调函数的函数体,按照语法规则依次执行3.如果函数有返回值通过return把返回值带回主调函数,同时形参(栈区)内存回收函数调用的使用1.函数调用作为一条独立的语句2.函数调用作为表达式的一部分(函数表达式),该函数必须有返回
2021-06-21 09:15:14 106
原创 游戏开发 c++基础学习 排序算法记录
记录一下排序的代码插入排序#include<iostream>using namespace std;int main(){ int i,j,a[100],n,key; cin>>n; for(i=0;i<n;i++) { cin>>a[i]; } for(i=1;i<n;i++) { key=a[i]; for(j=i-1; j>= 0 && key<a[j] ;j--) {
2021-05-31 11:48:47 74 2
原创 游戏开发 c++基础学习 笔记摘要第10天
string对象比较1.两个string对象长度不同,较短的string对象的每个字符与较长的string对象对应位置上字符相同,则关系为小于2.string对象在某些对应位置上不一致,则比较结果为string对象中第一对相异字符比较的结果string str="Hello";string ph="Hello World";string sl="Hiya";//str<ph sl>ph sl>str对于string类而言,允许把一个对象的值赋给另一个对象string
2021-05-24 19:04:49 82 1
原创 游戏开发 c++基础学习 笔记摘要第九天
constexpr变量声明为constexpr的变量一定时一个常量,而且必须用常量表达初始化constexpr int mf=20;//20是常量表达式constexpr int *q=nullptr;//q是一个指向整数的常量指针 相当于int const *q=nullptr别名声明using SI = Sales_iteam;//SI为别名typedef double wages;//wages为别名decltype类型说明符作用:选择并返回操作数的数据类型decltype((x)
2021-05-23 20:50:56 110
原创 c++基础学习 游戏开发 第八天笔记摘要
指针与constconst double pi =3.14;//pi是个常量,值不能被改变double *ptr= &pi;//错误,ptr是个普通指针const double *cptr = &pi;//正确,cptr可以指向指针*cptr=42;//错误,不能给*cptr赋值允许一个指向常量的指针指向一个非常量对象double dval =3.14;cptr = &dval;//正确,但不能通过cptr改变dval的值常量指针(必须被初始化)int errNum
2021-05-18 17:50:34 77
原创 游戏开发 c++基础学习 笔记摘要第七天
const限定符定义一种变量,它的值不会被改变const int bufsize = 512;//输入缓冲区大小//把bufsize定义成了常量,任何试图为bufsize赋值的行为都会报错bufsize=512;//错误:试图向const对象赋值因为const对象一旦创建其值无法改变,所以const对象必须初始化初始值可以是任意表达式const int i = get_size();const int j=42;const int k;//错误,k是一个未经初始化的常量利用一个对象去初始
2021-05-17 17:18:30 74
原创 游戏开发 c++基础学习 第六天笔记摘要
空指针不指向任何对象,在试图使用一个指针之前代码可以先检查它是否为空int*p1=nullptr;//等价于 int *p1=0int *p2=0;//直接将p2初始化为字面常量0#include cstdlibint *p3 =NULL;//等价于 int *p3=0;int zero=0;pi=zero;//错误,不能把int型变量直接赋值给指针pi=0;//正确小结一下指针和引用都能提供对其他对象的间接访问引用本身并非一个对象,一旦定义的引用,就无法令其再绑定到另外的对象,之后每
2021-05-13 20:55:55 70
原创 游戏开发 c++ 基础学习 第五天笔记摘要
引用为对象起了另外一个名字通过将声明符&d的形式来定义引用类型,d为声明的变量名int ival=1024;int &refVal=ival;//rafVal指向ival(是ival的另外一个名字)int &refVal1;//报错,引用必须初始化refVal=2;//把2的值赋值给了refaVal指向的对象,即ival=2//以引用作为初始值实际上是以与引用绑定的对象作为初始值int i=refVal;//引用本身不是一个对象,所以不能定义引用的引用int &a
2021-05-12 18:53:08 85
原创 游戏开发 c++基础学习 第四天笔记摘要
第四天笔记摘要数组 一组相同数据类型变量的集合定义:类型 数组名[];大小必须是常量或常量表达式>=1内存:所有元素内存大小之和(连续内存)数据元素的访问:数组名[ 下标];下标从0开始到数组大小-1数组越界:当数组元素下标超出了表示范围数组的静态初始化(定义)和动态赋值(循环+下标)数组排序:冒泡排序(相邻元素两两相互比较,不满足排序准则交换亮两个元素值)int n[m];//编译报错,数组大小不能是变量int n[5]={1,2,3,4,5};//定义一个大小为5的int型
2021-05-11 17:57:20 173
原创 游戏开发 c++基础学习 第三天笔记摘要
万事开头难游戏开发 c++基础第三天笔记记录运算符:算术运算符,自增自减,赋值运算符运算优先级:单目>算术>左移,右移>关系>按位与,按位或>逻辑>条件运算符>赋值>逗号关系运算符:>,>=,<,<=,==,!=运算结果为bool型cout<<(5>3)<<endl;//1cout<<(5>3>2)<<endl;//0cout<<(5>
2021-05-10 16:11:45 151
原创 游戏开发 c++基础学习第二天笔记摘要
高楼大厦平地起记录笔记第二天运算总原则1.整型提升:bool,char,short,unsigned int ,int等运算时,自动提升为int型或unsigned int 型2.运算结果的类型以参与运算中类型精度高的为标准浮点>整型>字符>布尔整数默认为int,小数默认为double算术运算符+,-,*,/,%%(取余):两边必须是整数类型2.5%3//报错5%'a'//正确运算结果符号和被除数符号一致cout<<5%2<<endl;//
2021-05-09 16:26:08 93
原创 游戏开发第一天基础学习
首先从c++基础学习1.整形的分类:int(4),short(2),long(4),long long(8)2.存储数据基本单位:字节 1个字节=8个单位int 类型默认是有符号的int ,signed int 型变量范围 -2147483648~2147483648unsigned型变量范围在0~4294967295求数据类型所占字节数:cout<<sizeof(int)<<endl;3.基本数据类型:整型,字符型,布尔型,浮点型字符型(char型)一个字
2021-05-08 19:41:10 146
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人