今天学习的内容比较碎,为了加深记忆,此刻我决定将其罗列出来:
上午
leetcode开始,完成了两道题目(题目不难,但过程还蛮困难的,忘记了许多知识点,例如初始化数组的memset函数,无穷大值0xffff,未注意vector的越界访问(空vector,以及访问超出的最后一个位置以后的空间)),新学了typedef(为某个数据类型起别名),新学了智能指针(是一种模板,记得<>)shared_ptr<T>,unique_ptr<T>(可自动释放内存),exit(0)结束程序函数,exit(其他数字)代表异常结束,exit(1)和exit(-1)是分别返回1和-1到主调程序。
,其间为了调整状态,背了25分钟单词(每日必打卡)
下午两点开始
折腾vs和resharper,由于快捷键失灵和冲突,花了很长时间配置,最后浅浅复习了下常用快捷键。
五点之后
开始研究数据结构,数据结构很早就想着手学习了,每次看几分钟的视频就坚持不下去了了。今天换了个方法,先理解某种数据结构,再自己动手敲。
今天敲线性表类的时候,复习了之前的知识,虚函数,继承, 新学了 函数末尾+const(可使成员函数不得修改成员变量),新学了虚函数最最末尾+override(若子类中虚函数定义与父类不同则会用下划~提示),新学快捷操作, ctrl+alt+insert添加文件,类,结构体等,alt+insert(自动添加成员函数定义)
八点以后
c++语言转化过程:
初始:c++语言程序
->编译器将c++语言程序转化为汇编语言程序
->汇编器将汇编语言转化为机器语言模块
->链接器将机器语言模块整合为机器语言程序然后由加载器压入内存
客户端与服务器
客户端有n个端口,服务器也有n个端口
客户端的各软件利用客户端的各个端口,与服务器的各个端口通信
重点:服务器的各端口也是有对应的软件管理的,不同的软件处理对应的客户端软件
发过来的信息
c++跨平台原理:
针对不同的系统将cpp文件编译为不同格式的执行程序文件(win下是PE格式,后缀为.exe还有.dll)
java跨平台原理:将.java转化为.class字节码文件,然后jvm将其转化为机器语言交给操作系统