自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 【C/C++超级基本功】条件(分支)语句精髓

switch的风格比较自由,case的括号可加可不加,多个case一起可以写在下面或者右边,default可以写在最上面也可以写在最下面,defualt情况多时建议写在最上面。这个逻辑表达式可以是整数,整数的表现形式既可以是变量又可以是常量,任何不为零的整数的逻辑值为。4.嵌套问题,if的嵌套最好不要超过3层,如果超过了三层,最好进行优化,太多层的嵌套往往象征了代码的设计缺陷和不好的可读性。也就是说我们可以利用逻辑短路对条件进行优化,将容易为false的逻辑放在&&前面,可以减少&&后面的判断,提高性能。

2023-05-07 23:20:05 271 1

原创 【C/C++超级基本功】语句

C++的语句大致可分为简单语句、条件语句、迭代语句、跳转语句、try语句块和异常处理

2023-05-06 20:26:12 451

原创 面试中常见的设计模式问题梳理

设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。单例模式简单概括就是:一个类只允许创建一个实例。该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一对象的方式,可以直接访问,不需要实例化该类的对象。单例模式分为饿汉式和懒汉式。饿汉式:类加载就会导致该单实例对象被创建。懒汉式:类加载不会导致该单实例对象被创建,而是首次使用该对象时才会创建。

2023-04-23 18:33:46 521

原创 C++观察者模式的应用

观察者模式是让多个观察者监听同一个主题对象(被观察者), 主题对象状态发生变化时,会通知所有的观察者,使它们能够更新自己。定义抽象观察者类,以抽象出诸如摄像机类、控制类、怪物类等不同具体观察者类。public :} //声明抽象方法 virtual void Do(Object * obj) = 0;public ://重写父类方法 virtual void Do(Object * obj) override {

2023-04-23 15:25:43 153

原创 C++简单工厂模式

简单工厂模式的核心思想是用一个工厂类来根据输入的条件产生不同的类,再调用不同类的虚函数获得不同的结果。简单工厂模式又称为静态工厂方法模型,它属于类创建型模式。通俗的来讲就是一个工厂只做一件事,比如我要制造手机,那么这个工厂就只造手机,为什么呢,因为简单工厂返回的是一个具体的品类,并且它也能返回其他相关的品类,而这些品类都有许多共同的属性,这就需要使用基类来存放通用属性,例如手机的尺寸,屏幕的分辨率,CPU的型号。如果把篮球与手机一起也作为工厂的产品,这就不合规矩了。

2023-04-16 23:51:16 461 2

原创 谈谈我对设计模式的认识

我了解过一些设计模式,它们有,至于还有其他诸如等,受限于编程经验,都只听说过名字。其中单例模式和工厂模式在我的印象中应该是C++项目中比较常见的设计模式了,我自己也经常在项目里用到。观察者模式我也用过一点,就是在编写一个基于Windows的GUI框架时,将自己封装的窗口类作为观察者,维护一个被观察者容器,各种属于窗口的节点类(如按钮类)作为被观察者可接收通知。

2023-04-16 23:16:42 80

原创 【C/C++】数据结构与算法之顺序表

数据结构之顺序表的c/c++实现

2022-10-09 23:55:06 519

原创 c++: class和struct关键字的区别

c++中,class和struct关键字的区别

2022-06-01 12:15:56 160

原创 C++: 运算符重载

c++运算符重载简单介绍

2022-05-16 20:10:22 370

原创 c/c++游戏编程之用Easyx封装按钮

教大家基于easyx封装自己的按钮控件

2022-05-10 22:45:12 4575

原创 c/c++游戏编程之用Easyx绘制图片

书接上回,本节结合例子继续详细介绍Easyx图形库的基本用法,为使用Easyx进行游戏编程做铺垫。

2022-04-30 17:26:23 7548 5

原创 c/c++游戏编程之Easyx图形库基础

Easyx图形库基础

2022-04-27 16:37:43 10380 7

原创 c/c++游戏编程之扫雷

扫雷是Windows平台的家喻户晓的经典小游戏,本节内容将讲解扫雷的开发细节,并完成控制台扫雷的开发。

2022-04-22 12:49:46 6946 6

原创 一文带你了解c++使用endl和使用‘\n‘的区别

众所周知,endl和’\n’都有换行的作用,但两者是有区别的。每一个输出流都有一个缓冲区,用来保护程序读写的数据。执行下面的代码:#include <iostream>int main() { std::cout << "Hello world!" << std::endl; return 0;};"Hello World!"会被立即打印出来,这里的输出流对象是cout,但如果不用endl:#include <iostream>

2022-04-03 23:31:03 4529 3

原创 c/c++游戏编程之控制台贪吃蛇(二)

为了解决“闪屏”问题,我们不再使用system(“cls”)进行清屏,而是直接用空格符’'清掉蛇尾即可,这就像裁剪(只对需要改变的区域进行更新,不对固定的地方进行多余的操作)。总的来说:游戏画面的每一帧变化只有蛇头和蛇尾的位置变了,我们只需要在新蛇头的位置填上’O’,用空格符’ '覆盖旧蛇尾,而不需要每次都将整条蛇重新打印一遍。所以,我们只要在游戏刚开始时将整条蛇打印一次就行了:void Init() { speedx = 1; //游戏开始时蛇默认向右移动 speedy = 0; p.

2022-03-31 19:41:20 3877 3

原创 c/c++游戏编程之控制台贪吃蛇(一)

c++游戏编程零基础之控制台贪吃蛇

2022-03-30 19:07:32 6672 2

原创 线程与进程的区别

线程是可分派的工作单元。线程顺序执行,并且是可中断的(这样处理器转移到另一个线程)。进程是一个或多个线程与相关系统资源(存储器空间,打开的文件和设备)的集合。

2021-12-24 23:02:21 202

原创 Windows编程之使用GetAsyncKeyState()函数为什么要(& 0x8000)?

Windows编程之使用GetAsyncKeyState()函数为什么要(& 0x8000)?先来看看GetAsyncKeyState()函数的原型: SHORT GetAsyncKeyState(int virtual_key); 它的返回值是SHORT类型,也就是short int,占2个字节,共16位,如果返回值的最高位是1则表示该键被按下,否则该键被松开。 若该键被松开,只需满足最高位为0,,假如返回 0000 0000 0000 0000,如果像这样: if (GetAsyncK

2021-09-27 21:00:50 3134 2

原创 微信小程序一个设置data数据的坑

微信小程序开发data

2021-05-17 23:51:19 809 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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