- 博客(57)
- 收藏
- 关注
原创 笨蛋学C++ 之 CMake的使用
主要是自己对CMake进行学习的一个总结过程,有一些自己的体会,也参考了网络上其他资源,有一些未完善的东西,后期再好好完善!
2024-05-09 17:14:57 845
原创 笨蛋学C++【C++基础第十弹】
/第一种方式it!=v1.end();it++){//第二种方式it!=v2.end();public://按照年龄进行排序 降序Person p1("刘备", 23);Person p2("关羽", 27);Person p3("张飞", 25);Person p4("赵云", 21);it。
2024-05-02 14:23:03 1157
原创 笨蛋学C++【C++基础第九弹】
宏描述LINE这会在程序编译时包含当前行号。FILE这会在程序编译时包含当前文件名。DATE这会包含一个形式为 month/day/year 的字符串,它表示把源文件转换为目标代码的日期。TIME这会包含一个形式为 hour:minute:second 的字符串,它表示程序被编译的时间。return 0;
2024-05-02 14:19:56 997
原创 笨蛋学C++【C++基础第八弹】
通过继承exception ,重写exception方法//函数体表示返回值类型what是函数名称()是参数列表const表示该成员函数不能修改成员变量throw()是异常规格说明符。括号内写该函数可抛出的异常类型const throw() 是异常规格说明,表示 what 函数可以抛出异常的类型,类型说明放到 () 里,这里面没有类型,就是声明这个函数不抛出异常,通常函数不写后面的 throw() 就表示函数可以抛出任何类型的异常//////重写what方法try {
2024-04-28 22:07:09 1115
原创 笨蛋学C++【C++基础第六弹】
定义类需要用到关键字 class,然后指定类的名称,类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数class 类名{访问修饰符(public/protected/private):成员变量;成员函数();
2024-04-24 15:15:48 1026
原创 笨蛋学C++【C++基础第四弹】
访问结构的成员时使用点运算符,而通过指针访问结构的成员时,则使用箭头运算符。给创建的类型取一个别名,然后使用typedef 来定义对应的结构体类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。C++结构体允许自定义可存储的不同类型数据项的变量。C/C++数组允许定义可存储相同类型数据项的变量。可以定义指向结构的指针,方式与定义指向其他类型。需要在 C++ 程序中引用 头文件。typedef来定义非结构类型。
2024-04-22 22:16:20 666
原创 笨蛋学C++【C++基础第三弹】
7.2.2初始化固定大小数组7.2.3指定大小并初始化数组7.2.4动态数组7.2.5标准库容器std::array7.2.6标准库容器std::vector7.3访问数组元素获取数组的元素个数:整个数组所占内存空间:每个元素所占内存空间:通过数组名查看数组首地址:查看数组种第一个元素的地址:通过数组名称加索引进行访问,元素的索引放在方括号内,跟在数组名称的后边7.4C++数组详解概念描述多维数组C++ 支持多维数组。多维数组最简单的形式是二维数组。
2024-04-22 22:13:53 428
原创 笨蛋学C++【C++基础第二弹】
返回类型 函数名(参数列表){函数体代码块;返回类型,一个函数可以返回一个值,若不需要返回,则返回类型设为void函数名,函数的实际名称,与参数列表构成了函数签名参数,参数是可选的,当函数被调用时,就向参数传递一个值,这个值被称为实际参数,参数列表包含函数参数的类型、顺序、个数函数体代码块,包含一组该函数需要执行的代码块////// 数字定义short s;int i;long l;float f;double d;// 数字赋值s = 10;i = 1000;
2024-04-19 21:55:03 1134
原创 笨蛋学C++【C++基础第一弹】
整数类型(Integer Types):int:用于表示整数,通常占用4个字节。short:用于表示短整数,通常占用2个字节。long:用于表示长整数,通常占用4个字节。long long:用于表示更长的整数,通常占用8个字节。浮点类型(Floating-Point Types):float:用于表示单精度浮点数,通常占用4个字节。double:用于表示双精度浮点数,通常占用8个字节。:用于表示更高精度的浮点数,占用字节数可以根据实现而变化。
2024-04-19 21:50:11 763
原创 笨蛋学习MySQL1.0
查询所有数据库#查询当前数据库#创建create database [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];IF NOT EXISTS:如果不存在就执行,如果存在不执行任何操作IF EXISTS:如果存在就执行,如果不存在就不执行任何操作#删除drop database[IF EXISTS] 数据库名;#使用use 数据库名;概述:从多表中进行查询数据(在多表查询时,需要消除无效的笛卡尔积)
2024-02-27 10:35:39 856
原创 笨蛋学Lambda表达式
lambda 表达式相当于是一种匿名函数,它可以在需要一个简单函数的地方快速定义一个函数,而不必专门为这个函数取名字。
2024-01-28 11:25:41 1121
原创 笨蛋学JUC并发编程-共享模型之不可变
- 属性用 final 修饰保证了该属性是只读的,不能修改 - 类用 final 修饰保证了该类中的方法不能被覆盖,防止子类无意间破坏不可变性
2024-01-27 17:51:00 662
原创 笨蛋学JUC并发编程-共享模型之无锁
volatile 可以用来修饰成员变量和静态成员变量,可以避免线程从自己的工作缓存中查找变量的值,必须到主存中获取它的值,线程操作 volatile 变量都是直接操作主存。即一个线程对 volatile 变量的修改,对另一个线程可见。
2024-01-27 08:38:58 1023
原创 笨蛋学JUC并发编程-共享模型之内存
JMM 即 Java Memory Model,它定义了**主存**(所有线程都共享的数据,可以认为对应着物理内存)、**工作内存**(每个线程私有的数据,可以认为对应着缓存)抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。
2024-01-26 19:38:04 934
原创 笨蛋学JUC并发编程-共享模型之管程
synchronized即俗称的【对象锁】,它采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其它线程再想获取这个【对象锁】时就会阻塞住。这样就能保证拥有锁的线程可以安全的执行临界区内的代码,不用担心线程上下文切换。
2024-01-25 20:57:10 1173
原创 笨蛋学设计模式行为型模式-中介者模式【24】
在生活中,可以看到不少网红在直播卖货,也可以看出中介者模式。在主播卖货的过程中,由于设计到多个对象,比如商品、观众、平台等,每个对象都有自己的任务和职责,但是它们之间需要相互协调和交互才能顺利完成卖货的过程。其中主播可以充当中介者的角色,负责协调和调度各个对象的交互。
2024-01-22 21:58:50 1714
原创 笨蛋学设计模式行为型模式-解释器模式【23】
例如编译器将源代码作为输入,通过词法分析和语法分析,构建抽象语法树(AST)。然后编译器使用解释器模式来遍历和执行这个抽象语法树,将源代码转换为机器码,并执行该机器码。
2024-01-22 21:08:42 1165
原创 笨蛋学设计模式行为型模式-备忘录模式【22】
在现代办公场景中,备忘录模式可以应用于文档编辑工具中。以Office工具为例,当用户在云文档中进行编辑时,系统会自动将当前的文档内容保存在一个备忘录对象中,并将备忘录对象存储在云端的服务器上。每隔一段时间,系统会判断是否需要保存文档的状态,如果需要,则将当前的备忘录对象保存为一个快照,以便日后恢复文档的状态。
2024-01-22 17:35:21 1292
原创 笨蛋学设计模式行为型模式-访问者模式【21】
我们可以将一个购物商场中的商品类作为元素类,不同的销售人员可以作为访问者类。当销售人员需要对商品进行销售操作时,可以创建一个具体的访问者对象,然后通过商品类的接受访问者的方法将访问者对象传入。然后商品类再根据传入的访问者对象调用相应的访问者方法,从而实现对商品的不同销售策略,如打折、促销等。
2024-01-22 14:53:34 1335
原创 笨蛋学设计模式行为型模式-状态模式【20】
比如在设计一个电梯系统时,可以使用状态模式来管理电梯的不同状态,如开门、关门、上升、下降等。将电梯的这几种状态封装成一个独立的状态类,并定义了该状态下的具体行为,通过将状态切换的逻辑分布到各个状态类中,可以使得电梯的状态切换更加清晰、易于维护和扩展。
2024-01-22 12:55:43 1240
原创 笨蛋学设计模式行为型模式-命令模式【19】
在餐饮业中,命令模式可以用于实现订单的处理流程。例如在餐厅中,当我们在客户端或者小程序上进行点单,客户端 / 小程序会将我们在上面下的订单请求封装成为一个对象,通过发送命令给后厨的工作人员上,而他们就会根据我们下的具体订单进行菜品备菜、菜品制作、菜品上菜等一系列操作。
2024-01-22 11:34:21 1143
原创 笨蛋学设计模式行为型模式-责任链模式【18】
在我们公司内部审批流程中,若某个员工提交了请假申请,需要经过上级的一系列的审批过程,例如小组长审批、部门经理审批、人事部审批、总经理审批等。这些审批过程可以采用责任链模式来实现,将每个审批者看作一个处理器,若某个处理者无法处理该申请,则将该申请传递给下一个处理者,直到有一个处理者同意或拒绝该申请为止。
2024-01-22 08:24:04 1541
原创 笨蛋学设计模式行为型模式-模板方法模式【17】
在我们进行的烹饪的过程中,有些菜肴的制造步骤是固定的,比如炒菜之前要先热锅冷油、加入姜蒜葱爆香,然后加入要炒的备菜,最后放入调料调味进行翻炒,然后出锅。不同的菜肴可能只需要在某些步骤上有所差异,比如加入的调料不同,要炒的备菜不同。这种情况下,就可以使用模板方法模式,先定义一个基本的烹饪流程(模板方法),然后让不同的菜肴根据需求实现不同的细节(抽象方法)。
2024-01-22 07:03:33 931 1
原创 笨蛋学设计模式行为型模式-策略模式【16】
在购物平台上,我们需要实现一个促销活动功能。可以通过使用策略模式来实现不同类型的促销策略,比如折扣、满减、赠品等,每个促销策略可以被封装成一个独立的策略类,客户端根据不同的促销需求来选择不同的策略进行结算。
2024-01-21 05:58:28 1168 1
原创 笨蛋学设计模式行为型模式-迭代器模式【15】
例如在操作系统中的文件夹结构可以使用迭代器模式实现,通过迭代器模式,可以实现对文件夹中文件和子文件夹的遍历,从而无需暴露文件夹的内部实现细节,这样用户就可以方便地浏览文件夹的内容,并执行相应的操作,如复制文件、删除文件、打开文件
2024-01-20 08:54:05 1175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人