c plus plus
cpp知识补充01 - 侯捷 - C++面向对象高级开发(上下两部曲)
02 - 侯捷 - STL标准库和泛型编程
03 - 侯捷 - C++设计模式
04 - 侯捷 - C++新标准C++11&14
05 - 侯捷 - C++内存管理机制
06 - 侯捷 C++ Startup 揭密:C++ 程序的生前和死后
07、算法原理与实践(选修)
08、系统设计与实践(选修)
书籍:c++ primer effective modern c++ stl源码剖析
前言拿来当c++知识点补充库,顺序不是按照学习的顺序,是感觉哪个不会了,看书或视频补充知识点。
namespace定义命名空间12345678910111213//如果不引入 using namespace std;就需要我们显示引入,例如std::coutnamespace a{ int a = 10;}namespace b{int a = 20;namespace c{ int a = 30;}}使用命名空间12345678910111213void ...
数据结构
数据结构平衡二叉树定义:树上任意节点的左子树和右子树高度之差不超过1,超过则视为不平衡节点平衡因子 = 左子树高-右子树高
特性:左子树节点值<根节点值<左子树节点值
调整最小不平衡子树LL 新插入一个节点在左子树的左节点LRRRRL判断方法:从最小的不平衡节点开始操作
LL:进行右旋,需要将最小的不平衡节点往下三个节点中间的节点作为新的根节点其他两个节点变成左右子树
jsp_final
jsp_finaltestjsp执行过程客户端向服务器发送请求。服务器接收到请求,并根据请求的URL和其他参数选择对应的处理程序进行处理。翻译阶段:如果请求的处理程序是JSP文件,服务器会翻译JSP文件成为Servlet源代码。编译阶段:并编译成Java字节码文件。如果请求的处理程序是Servlet或者其他Java类文件,服务器则直接编译Java文件成为字节码文件。执行阶段:服务器根据请求创建一个HTTP响应对象,并将响应头信息写入到这个对象中。如果请求的处理程序需要生成HTML内容,服务器会执行相应的Java代码来生成HTML内容,并将HTML内容写入到HTTP响应对象的正文中。服务器将HTTP响应对象发送回给客户端。客户端接收到HTTP响应,解析响应头和正文,并根据响应头中的Content-Type信息来解析正文内容。如果Content-Type是text/html,客户端会将HTML内容解析并显示在浏览器中。
三种指令page12<%@ page language="java" contentType="text/html import = & ...
OPERATING SYSTEM
Computer Operating System导论cs -> hardware(io cpu…) software(application) data
interface(接口)hard - hard example: USBsoft - hard 操作系统通过instructions(指令集) example: printf() API接口
Virtual Machine操作系统向用户提供一个容易理解和使用的计算机(虚拟的),用户对这个计算机操作将被操作系统转换成对计算机硬件的操作
计算机系统组成CPU RAM DISK IOdevice …..
中断当所有事情发生时,CPU收到一个中断信号CPU停下来正在做的事,转而执行中断处理程序,执行完毕会回到之前被中断的地方继续执行操作系统是一个以中断驱动的系统
存储系统cpu负责将指令从内存读入,所以程序必须在内存中才能运行内存以字节为存储单位,每个字节都有一个地址与之对应,通过load/store指令可以访问指定地址的内存数据load:将内存数据装入寄存器(Register)store:将 ...
设计模式期末
设计模式期末复习(java)简单工厂uml类图
优点:1.使用工厂方法可以让用户的代码和某个特定类的子类的代码解耦。2.工厂方法使用户不必知道它所使用的对象是怎样被创建的,只需知道该对象有哪些方法即可。
缺点1.不符合开闭原则2.职责过重3.不易扩展
代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869//创建接口public interface Shape { void draw();}public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); }}//接口实体类public ...
GDB调试
GDB调试编译c程序gcc test.c -o test.out
生成debug info文件gcc -g test.c -o test.out
打断点b mainb path :行数rn 不进函数体单个执行s 进函数单个执行
看断点info b 看断点d 行数 删除断点c continue
bt 看函数调用栈
监视watch 变量
info r 看寄存器的值
查看代码或汇编layout src 查看代码layout asm 查看汇编
example1234567891011121314151617181920$ gdb 调试(gdb) break 10 //在第十行打断点Breakpoint 1 at 0x4005f4: file my_program.cpp, line 10. //第一个断点,在地址 0x4005f4处 file 后面显示的是打在哪个文件 哪一行(gdb) run Starting program: /path/to/my_program Breakpoint 1, main () at my_program.cpp:10 / ...