![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础知识整理
C++基本的语法只是的汇总
一十二012
这个作者很懒,什么都没留下…
展开
-
31数组ZSBD
31数组定义定义指针是C++数组工作的基础数组是元素的集合,按特定顺序排列的一堆东西,表示一堆变量组成的集合。一般是一行相同类型的变量数组一般和for循环放在一起,通过索引index来遍历。设置数组的每一个值数组是连续的数据块,可以像索引一本书一样的索引他们数据类型Int :允许在给定范围内存储一个整形数字。int(integer)是4个字节(byte)大小的数据类型 -2b to 2billonsigned int 带符号整数,有正负,符号占一个一个字节byte是8比特(b原创 2021-07-07 22:29:41 · 372 阅读 · 2 评论 -
30 可见性visiblity
30 可见性visiblity定义可见性是一个属于面向对象编程的概念,指的是类的某些成员或方法实际上有多可见:看见,调用,使用。对程序的性能没有影响,但是能够帮助更好的写代码和组织代码。C++只有三个基础的可见性修饰符:public ->protected->privatePrivate:仅类的本身和这个类的友元 friend 类 函数可以访问protected:比private可见,比public不可见。 类和所有的子类均可访问public:任何位置可以访问代码说明A#in原创 2021-07-07 22:28:55 · 428 阅读 · 0 评论 -
28 虚函数and纯虚函数
这部分细看,忘差不多了28 虚函数定义以下内容为虚函数引入,虚函数实现了子类可以干自己的事情,而不仅仅只是完成基类代码说明#include <iostream>#include <string>//定义基类,有一个公用方法getName;class Entity {public: std::string getNmae() { return "Entity"; }};//定义子类class Player:public原创 2021-07-07 22:28:35 · 150 阅读 · 0 评论 -
27 继承inherit
27 继承 inherit定义代码说明#include <iostream>class Entity //定义一个基类 以位置移动为对象{public: float X, Y; void move(float xa, float ya) { X += xa; Y = Y + ya; }};/*//一个新玩家需要位置移动,没有继承就只能像下面这样写class player{public: const c原创 2021-07-07 22:23:04 · 80 阅读 · 0 评论 -
26 析构函数
26 析构函数 Destructor定义与构造函数相反,析构函数在销毁对象时运行。是一个特殊的函数或方法构造函数通常设置变量或其他的初始化;析构函数卸载量,清理使用过的内存析构函数适用于堆和栈分配的对象 。栈分配的,只有主函数结束时候,析构函数才会被调用写析构函数能够防止内存的泄露。涉及到堆和栈的相关信息,可以学习之后回头来看。代码说明class Entity{public: float X, Y; Entity() //construct function 初始原创 2021-07-07 22:22:44 · 47 阅读 · 0 评论 -
25 构造函数
25 构造函数 Constructor定义一种特殊类型的方法,在每次实例化对象时运行。是一种每次构造一个对象时都会调用的方法。没有返回类型,名称必须与类的相同;就算不指定构造函数,依旧有一个默认的构造函数。当然个构造函数什么都没做不实例化对象,将不会运行。如果只是使用一个类的静态法,将 不会运行用new调用时候使用一个类的静态方法,将运行; 后续讲到为啥一定要用构造函数可以看看那期视频。基本上就是初始化的作用代码说明//25 constructclass Entity{publi原创 2021-07-07 22:20:40 · 52 阅读 · 0 评论 -
24枚举ENUM
24 枚举 enumeration定义枚举是一个数值合集,给值命名的一种方法。枚举数,与整数相对应,将一组数值集合作为类型,而不仅仅是整数类型。代码说明#include<iostream>class logm{public: enum level:unsigned char //:unsigned char 没有就是默认int { levelErro=0, levelWarn, levelInfo }; //enum class level :un转载 2021-07-07 22:20:08 · 105 阅读 · 0 评论 -
21 静态static
21静态(static)使用场景C++中两种情况,一种是在类,结构体之外使用static,一种是在类/结构体内部使用static。类外面的static,只能对定义的翻译单元可见。也就是编译单元可见。除非用到类里面的static与该类的所有实例共享内存。尽量多用静态static变量和function,全局变量尽量少用,除非已知其作用需要全局。Extern 代表从外部获取这个variable /function。Static在struct和class中的含义static在一个class或者st原创 2021-07-07 22:19:36 · 110 阅读 · 0 评论 -
20 类class
20 类(class)定义类和结构体struct相差不大,struct默认成员公开。class默认private。使用情形struct 建议是字段的的集合. 方法function 使用较少,或者为了内部数据处理。具体的使用经验,多看多练习。==一个概念,类和结构体能完成的,不用也可以完成,有点类似语法糖。不然就得调用来调代码举例#include <iostream>class logm{public: const int loglevelErro = 0;原创 2021-07-07 22:18:49 · 114 阅读 · 0 评论 -
17 引用reference
17.引用引用定义引用是指针的一种扩展。在计算机处理上基本是一回事。写法可能有别,但最终来看,引用就是指针,是一回事。引用:对一个已存在的变量的引用。指针可以给nullptr,但是“引用变量”不行,必须引用一个已存在的变量。引用本身不是一个新的变量,不占内存。(指针是一个包含地址的变量哦。)没有任何事情是引用可以做而指针不可以做的,可以美化代码示例代码#include <iostream>#define log(x) std::cout<<x<<std::e原创 2021-07-07 22:18:10 · 69 阅读 · 0 评论 -
VisualSet
基本知识以Conditions.sln为例子说明1解决方案Conditions.sln 解决方案和项目名称一般一致,但大型项目不这么做Conditions.vcxproj 项目文件 一个XML文件Conditions.vcxproj.filters 筛选器是一种类似(假的)文件管理系统,虚拟文件夹用来组织代码可以通过显示所有文件按钮看到实际目录,并且新建相关文件夹。进行实际的文件位置管理生成的运行文件管理可以在属性- 输出目录 中间目录之中。可以从编辑看各自的宏的含义,比如$(S原创 2021-07-05 23:06:29 · 136 阅读 · 0 评论 -
08变量(variable)
变量将数据储存在一个叫做变量(variable)的东西中,变量允许我们给储存在内存中的数据一个名字,以便于继续使用这个数据。变量储存在堆或者栈中,后续讨论;变量占据了内存; 不同变量类型之间的唯一区别就是大小(size),这个变量占据多少内存.Int :允许在给定范围内存储一个整形数字。int(integer)是4个字节(byte)大小的数据类型 -2b to 2billon signed int 带符号整数,有正负,符号占一个一个字节byte是8比特(bit)的数据 4个by原创 2021-07-05 23:04:28 · 232 阅读 · 0 评论 -
14+15循环&控制流
14+15循环 (For and While) & 控制流1.FOR形式(1)for (int i = 0; i < 5; i++) 三部分,用 ;分开{log("hello world!"); //循环体}第一部分声明变量(临时变量) (I iterator 迭代器,传统)第二部分条件,满足时候一直执行FOR里面的代码第三部分是下一次循环前会执行的代码形式(2),与形式(1)内容相同{ int i = 0; for (; i <5; ) //i+原创 2021-07-05 23:05:25 · 63 阅读 · 0 评论 -
16 原始指针raw pointer
指针内存是计算机的一切 memory is the everything of computer.指针针对管理操纵那个内存及其重要指针的定义什么是指针:指针是一个整数(a pointer is a integer),一个数字,它储存一个内存地址,that is all of itA pointer is a integer a number which stores a memory address. that is all it is .指针类型毫无意义,只是人为划分,方便些而已如果原创 2021-07-05 23:05:56 · 399 阅读 · 0 评论 -
C++常量指针和指针常量辨析 忘了“指针常量”这个烂叫法吧
初学者,忘掉“指针常量”这个烂叫法,不知道如何翻译出来的,太折磨思维了,看看下面说法,非常清晰。记也这么记才ok pointer to const 指向常量的指针 内容不可修改 const double pi=3.1415926;const double * cptr=π// = double const *cptr=π const pointer 常量指针 存放指针的地址不可改 int a...原创 2021-05-24 23:15:32 · 90 阅读 · 0 评论 -
41运算符重载
文章目录此文档内容主要来自此链接网站,仅为个人学习保存,详情请点击进入.#运算符重载##C++ 重载运算符和重载函数C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。###C原创 2021-06-09 22:51:03 · 95 阅读 · 0 评论 -
58函数指针说明
函数指针原始方式的函数指针 (raw function pointer)函数指针,是将一个函数赋值给一个变量的方法 function to a variable拓展:将函数作为参数传递给其他函数1.0正常函数调用#include <iostream>void HelloWorld(){ std::cout << "hello,world" << std::endl;}int main(){ HelloWorld();原创 2021-06-20 20:26:14 · 61 阅读 · 0 评论 -
模板,宏,atuo关键字的简述
53.模板语法为:返回类型前写上template.日志系统,返回多种类型。使用模板是被推荐的。例1template <typename T> //template 定义为模板 <typename T> 模板参数void Print(T value){ std::cout<<value<<std::endl;}int main (){ Print(5); Print<float>(5.5f); print("h原创 2021-06-17 19:00:18 · 104 阅读 · 0 评论