迭代器iterator
迭代器iterator的使用迭代器iterator是一个额外的、独立数据结构,存在于STL库中。专门用于访问STL中各个数据结构中的元素。 (可以朴素地认为迭代器就是指针) 使用迭代器访问元素,和使用方括号[]加下标的效果一样,都是获取元素的引用,可读可写 但是方括号是对象本身的数据结构自带的(通过重构),而迭代器是不属于被访问的对象的,一个单独的数据结构 当一个对象为const时,为只可读的,此时还是可以通过方括号下标访问(因为通常会重构一个const类型的方括号),只要不对访问到的元素进行修改即可 但是已经不能使用普通迭代器访问了,因此使用迭代器访问元素,本质上是使用一个数据结构A(iterator)访问另一个数据结构B(被访问的对象)中的元素,而非数据结构B直接调用自己的成员函数访问自己 因此就算数据结构B设置为const,但是外部的迭代器仍有写的权限,这是不合理的。此处应使用const_iterator 迭代器的使用方法 使用迭代器的时候要指明被访问的数据结构类型 12//此处以string对象为例string::iterator ite; STL中的数据结构 ...
使用calibre更新kindle封面等元数据
使用calibre更新kindle封面等元数据 更新了元数据但是封面还是不显示 个人认为原因有二: kindle在更新完书记元数据后,需要统一更新一下本机的封面库,从电脑拔下kindle后,需要等待一会儿kindle才能自主更换完展示封面 封面太大,锁屏时加载不出来 设置元数据(如封面等): 更新kindle上缓存的元数据:
教师监考系统开发记录
[toc] 开发规划: 实现无界面的系统,编写可以独立完成所有功能的后端代码 提高代码的复用性,减少重复的字段,解耦合。将功能封装为函数,函数值完成执行,获取值,返回值,不进行打印等额外功能,将函数功能化。调用函数的代码负责对函数返回值进行处理。提高易用性。 抽象化,将同类功能函数抽象为同一类,并加入必要的成员变量,隐藏信息、保护数据、便于代码移植。 实现有界面的系统,采用B/S 浏览器/服务器 结构 前端通过浏览器展示,采用html展示页面结构,css进行html美化,js用于控制html上组件的行为,并内联ajax,将某些组件的响应作为请求,与参数一起打包发送,并等待后端响应,获取参数,然后执行相应的操作 后端,先移植后端代码与数据库到Linux云服务器。升级cmake和gcc。安装httplib c++库,用来监听指定端口下的网络请求,执行后端代码,将结果作为参数传回前端。 将移植后的后端代码进行更改,将接口的参数和返回值,进行更改,比如将变量进行JSON序列话和反序列化,用于网络通信时参数传递。 技术栈:后端:C/C++ C++11,STL,准标 ...
vscode主题推荐
vscode主题推荐(排名不分先后) Pro hacker theme Winter is coming (Dark Blue) Shades of Purple (super dark) Tomorrow Night Blue
Arch试玩
等待折腾and更新中—
vscode中设置工作台颜色
由于远程Linux服务器的oh-my-zsh主体文字颜色在主题中不好更改,此处采用更改vscode本地终端主体文字颜色的方法,实现远程连接Linux时,自定义主体文字颜色 通过将以下内容添加到用户设置中:ctrl + , 并搜索 workbench(工作台)【或者在设置中找到工作台】,进入“外观”,找到“Color Customization”,然后点击「Edit in settings.json」(在settings.json中编辑) 在最后加上如下语句: 1234567//终端颜色配置"workbench.colorCustomizations" : { //可以将鼠标放到下面的色号上根据自己的偏好进行选择 "terminal.foreground" : "#37FF13", //主体文字颜色,此处设置的绿色 "terminal.background" : "#2b2424" //背景颜色,可以不设置,保持与主题一致 } 更改前后: 另外还可以 ...
item2更改主体文字颜色
由于远程连接的Linux服务器配置好oh-my-zsh之后,本地的现实也会改变,但是更改主体文字颜色等操作比较繁琐,因此通过更改本地终端,此处是item2,来更改本地的主体文字颜色,更简单 打开设置中的颜色设置 此处foreground(前景)即为主体文字颜色,默认为白色 更改为与右侧表中ansi color的bright green一致
Mac上更改鼠标指针外观
Mac上更改鼠标指针外观前言: 此教程在Mac上更改鼠标外观,是基于Mac上mousecape软件来进行的 需要的鼠标外观材料来源于Windows的鼠标指针文件(.ani后缀),将其先转化成每一帧的gif文件,再借助PS将gif文件拼接成为竖版长png,最后导入mousecape进行设置 另外,mousecape只能生效更改后的图标,如果一些指针图标并未设置,是不会显示的,这也是本人后期放弃使用的原因(即不实用,我还是老实选择了原生指针,这一点上Windows自定义做的真好) mousecape下载地址_GitHub 1.ani文件分帧转化为gif文件选择想要更改的鼠标指针文件,此处使用的是【无职转生】艾莉丝动态鼠标指针 by:夹心酱のATM_(在此感谢up主,本文章声明不会用于商用) 下载好之后,解压并打开,里面包含为一些.ani文件和Windows上的指针安装程序,此处我们只需要.ani文件 进入网站https://ezgif.com/ani-to-gif 点击“选取文件”,选择一个ani文件,然后点击“Upload” 此处注意,Mac上的指针只有部分支持修改外观,具 ...
butterfly修改白天模式下主界面字体颜色
修改标题和副标题文字颜色:打开文件themes/butterfly/source/css/_layout/head.styl 在大约第37和44行开始 在“color”这一行中更改里面的颜色 修改前: 修改后:(只关注文字颜色,背景颜色因为更换了背景图片所以不同 43行的颜色参数与网站左上角标题遮罩相关,白色为透明,在移动端表现明显,如果设置为黑色,则会看到黑色方形遮罩,此处仍设置为白色 修改顶部菜单文字颜色:打开文件themes/butterfly/source/css/_layout/head.styl 在大约第268行开始 在“color”这一行中更改里面的颜色 修改前: 修改后:
butterfly修改白天模式下主界面封面亮度
打开文件themes/butterfly/source/css/_layout/head.styl 在大约第10行开始 在“background-color”这一行中可以调整小数值的大小,来控制页脚图片颜色深度,小数值越大,颜色越深 修改前: 修改后:
vim批量注释/删除注释
vim批量注释/删除注释注释: control + v 进入 V-BLOCK模式(可视化块模式) 使用上下(k、j)移动选定要注释的行【左右(h、l)则是选择列】 shift + i (大写i)进入插入模式 输入注释符 // 或 # 连续按两次ESC,完成 删除注释: control + v 进入 V-BLOCK模式(可视化块模式) 使用上下(k、j)移动选定要注释的行,如果注释为 //,则使用左右(h、l)选择两列 d,删除注释
Linux下gdb使用gdb命令时显示找不到文件
Linux下gdb使用gdb命令时显示找不到文件12报错信息如下:No symbol table is loaded. Use the "file" command. 原因:在编译时没有使用对应选项生成可调试文件 解决方法:在编译时,在依赖文件前加入 -g选项 更改前makefile的部分内容: 12process: process.c gcc -o process process.c 更改后: 12process: process.c gcc -g process.c -o process 注意事项,关于 gcc 命令后面文件的顺序问题 -o 选项没有明确要求依赖文件和目标文件的前后顺序,因为在第一行中已经指出了依赖文件和目标文件。所以-o、目标文件、依赖文件三者何种顺序都可以 -g 选项唯一要求就是后面紧跟依赖文件,其他无要求
回车vs换行
回车vs换行回车和换行都只是一个单纯的动作 回车:光标移动到当前行的最开始 \r 换行:光标保持当前位置,仅向下平移一行 \n 回车: 换行: 我们平时说的“回车”或者“换行”,以及C语言中的换行符“\n”,其实是 回车+换行 \r+\n 就是先回车后换行:先移动到当前行的最开始,再移动到下一行 或者先换行后回车:先移动到下一行,再移动到最开始 C语言中\n会清空缓冲区







