基础知识
文章平均质量分 75
基础知识大杂烩
当小当
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
记一算法题
记一算法题题目描述题目描述题目要求解码一个字符串看下面的输入示例很容易看明白input1“2[ab]”output“abab”input2“3[a]”output2“aaa”input3“2[a2[b]]”output“abbabb”题目分析因为括号可以嵌套所以考虑用堆栈来解决数字后面就是要解码的字符串,需要一个读数字的函数同理可以设计一个读字符串的函数直接上代码,具体解析以后再补#include<string>#include<iostre原创 2021-10-10 00:21:12 · 247 阅读 · 0 评论 -
编程心法口诀
编程时要注意的几个点,包括出错处理,编码规范,面向对象方法,内存安全,线程安全等原创 2021-10-08 19:51:46 · 2582 阅读 · 0 评论 -
引用和指针的区别
引用和指针的区别指针的介绍引用的引入意图引用的实现原理引用和指针使用时的区别指针的介绍指针是C中的一个概念,指针变量中存储的是一个变量的地址,在C语言中,指针最大的作用就是解决函数参数的传值的局限性了。没有指针,一个函数的作用仅仅体现在它对全局变量的修改和它的返回值中,有了指针,函数能实际改变传给它的参数,大大加强了函数的功能。引用的引入意图在过程式编程中,指针已经足够用了,但是随着面向对象的引入,指针的局限性就体现出来了。很多时候,我们希望能够给函数传入一个对象而非这个对象的指针,所以C++引入了原创 2021-10-07 20:36:40 · 511 阅读 · 0 评论 -
设计原则KISS DYR 迪米特
设计原则KISS原则和YANGI原则DYR原则最小知识原则在之前的文章中有介绍过SOLID原则,这篇博客来介绍一下其余的几种设计原则。KISS原则和YANGI原则KISS原则为尽量保持简单原则。YANGI原则为You Ain’t Gonna Need It,核心思想是不要做过度设计,也是保持简单的意思。感觉这个和延后实现的思想有点相似。(延后实现的思想在计算机中有很多应用,比如copy on write技术,进程创建函数fork就运用了这个技术,还有操作系统收到操作IO的请求时,不会立刻实现,而是原创 2021-10-01 22:25:19 · 334 阅读 · 0 评论 -
面向对象技术
面向对象技术面向对象的四大特性封装抽象继承多态面向对象和面向过程的区分面向抽象而非实现编程抽象类和接口抽象类和接口的区别多用组合少用继承软件越来越复杂已经成为了一种趋势,传统的面向过程方法已经无法满足软件开发的需求了,为了软件的更好维护,人们开始考虑将现实世界的实体与软件中的模块对应起来,软件中的模块不仅有着现实世界实体的属性,还有着现实世界实体的行为。面向对象技术就是做着这样的一件事,它的目的就是将合适的属性和行为放入合适的类中。面向对象是一门实践中产生的技术,要理解面向对象的思想,离不开实际应用。原创 2021-10-01 15:13:39 · 777 阅读 · 0 评论 -
算法 DFS BFS 并查集
算法 DFS BFS 并查集题目描述DFS解法BFS解法并查集解法题目描述这是一道leetcode上非常经典的题(岛屿数量),解决思路也很多。DFS解法DFS解法是用染色的方法,我们遍历每一个节点,每个节点都做这样的事:首先判断岛屿是否被拜访过,没被拜访过则先将岛屿数加一,再利用DFS搜索的方法,将与它连接在一起的每个节点都标记为拜访过,。这样在遍历第一个节点的时候会将与第一个节点相连的节点全都标记为拜访过,之后即使再碰到也会认为属于第一个节点的集群。//author: Solitude//d原创 2021-09-30 22:26:16 · 236 阅读 · 0 评论 -
网络世界的构建 一
网络世界的构建 一设备互联局域网互联网络传输的通用要求各种玩法(传输人们感兴趣的数据)设备互联随着一台台的计算机出现,自然而然就出现了让计算机互联的要求,数据链路层解决的就是使得网络互连在一起的功能。(局部网络互连)但是有个问题,网络设备多种多样,且实际物理环境想当复杂,导致了我们局部网络间互连的方式是多种多样的。局域网互联那么,跨越局部网络时,机器该如何互连呢?(一个数据包跨局域网传输呢)IP协议的出现我们或许可以这样:在每个局部网络中都以该局部网络的方式传输,所以我们只需要知道目标机器的地原创 2021-09-30 21:54:29 · 302 阅读 · 0 评论 -
C++虚函数 一
C++虚函数虚函数虚函数的作用虚函数的实现原理虚函数实现原理的验证虚函数虚函数的作用面向对象中一个非常重要的概念叫多态,指的是使得一个基类指针指向一个派生类对象,当调用基类和派生类共有的函数时,最终调用的是派生类的函数。如下class Base{public: virtual void f(){ cout<<"Base call f()"; }}; class Derived : public Base{public: virtual void f(){ co原创 2021-09-30 00:11:03 · 133 阅读 · 0 评论 -
设计模式的SOLID原则和创建式设计模式 一
设计模式的SOLID原则和创建式设计模式 设计模式的作用SOLID设计原则创建式设计模式设计模式的作用如果说算法的作用是让我们写出高效的程序,那么设计模式的目的就是让我们写出好的,扩展性强的,符合规范的代码。SOLID设计原则在软件设计中,要遵循一些原则。SOLID五大原则在软件设计中非常常见。S 单一职责原则每个模块都负责单一的职责,若一个模块负责多个原则,则应该考虑将这个模块划分。事实上,这个原则看上去很简单,但在软件设计中一个模块是否负责单一职责是很难区分的,可能会随着适用场景的改变而改原创 2021-09-29 22:00:00 · 266 阅读 · 0 评论
分享