总结知识点,记录答疑解惑
算法竞赛入门经典
第一章
第二张
知识性
return、break、return 0
一句话结论
- 在
void函数里用return;直接结束函数。 break;只退出当前循环/switch,函数还会继续往下执行。return 0;是“有返回值的函数”返回整数 0。
最小示例
1 | void LinkedList::ascinsert(eleType value) { |
如果把第二个 return 换成 break 会怎样?
1 | void LinkedList::ascinsert(eleType value){ |
- 核心原因:
break只离开循环,函数没有结束;而return结束整个函数。
return; 和 return 0;
return 0;:用于有返回值的函数,返回整数 0。return;:用于void函数,只退出函数,不返回值。
1 | int main() { return 0; } |
速查表
| 语句 | 适用场景 | 作用 |
|---|---|---|
break; |
循环或 switch 内 |
跳出当前循环/switch |
return; |
void 函数 |
立即结束整个函数 |
return 0; |
返回 int 的函数 |
结束函数并返回 0 |
delete
delete
1 | int* p = new int(5); // 单个对象 |
不需要加
[]的情况:- 释放单个对象时用
delete - 当指针是
nullptr时(delete nullptr安全但无意义)
- 释放单个对象时用
必须加
[]的情况:- 释放数组时用
delete[] - 与
new[]严格配对使用
- 释放数组时用
核心原则:
new和delete形式必须匹配
c中的打印
1 | if(x >= 10) |
printf 是 C 语言中用于格式化输出的标准函数。格式说明符以 % 开头,指定如何显示后续参数。
在上面的代码中:
%c是字符格式说明符,它将整数值转换为对应的 ASCII 字符。'A' + x - 10计算出 A-F 对应的字符。%d是十进制整数格式说明符,直接输出数字。
其他常见的格式说明符:
%s: 字符串%f: 浮点数%x: 十六进制数(小写 a-f)%X: 十六进制数(大写 A-F)%p: 指针地址
C++ 中通常使用 cout 进行输出:
1 | if(x >= 10) |
C 的 printf 需要手动指定格式,而 C++ 的 cout 会根据变量类型自动选择格式。
易混括号
Type name[N] - 数组声明
1 | Queue<int> q[1001]; // 创建1001个队列对象 ❗易错点 |
特点: 创建N个独立的Type对象
坑点: 这不是1个大小为N的队列,而是N个独立的队列!
Type name(N) - 带参构造
1 | vector<int> v(100); // 1个vector,含100个元素 |
特点: 创建1个对象,初始化N个内容
Type name{N} - 列表初始化
1 | vector<int> v{1,2,3}; // 1个vector,元素为1,2,3 |
特点: 使用花括号指定初始值
快速记忆
[N]→ 多个对象(N个Type)(N)→ 单个对象,N个内容{N}→ 初始化值为N
i++和++i
之前都是似懂非懂,现在来总结一下:
- 区别能体现:涉及立刻赋值,立刻打印,数组索引,return, 条件判断
- 一样效果:循环,单独写一行,函数调用
fun(xxx);
非知识性
index.md无内容但侧边栏显示仓库
- index.md只有前置信息无实际内容,侧边栏仓库信息配置在主题配置文件的
projects和repository部分,非Markdown文件内容决定。
Hexo中repository/index.md与主题配置的关系
在Hexo博客系统中,source/repository/index.md文件与侧边栏显示的GitHub仓库列表之间存在一种特殊的关系:
index.md文件的作用:
- 这个文件主要是创建一个名为”Repositories”的页面路由(/repository/)
- 它包含前置信息(Front Matter)定义了页面标题、布局等基本属性
- 文件本身可以不包含任何内容,因为实际显示的仓库信息是从主题配置中获取的
主题配置中的仓库设置:
- 在
themes/pure/_config.yml文件中,仓库信息通过两个部分配置:和1
2
3repository:
platform: github # 托管平台(github | gitee)
username: Jaxon1216 # 用户名1
2projects:
cofess/hexo-theme-pure: https://github.com/cofess/hexo-theme-pure repository部分定义了平台和用户名projects部分直接列出了要显示的特定仓库
- 在
工作原理:
- 当访问
/repository/页面时,Hexo使用layout: repository指定的布局模板 - 该模板会读取主题配置文件中的
repository和projects部分 - 即使
index.md文件中没有内容,模板也会根据配置信息渲染出仓库列表
- 当访问
这就是为什么即使source/repository/index.md文件中没有任何内容,侧边栏仍然能够显示GitHub仓库的原因。修改仓库显示需要编辑主题配置文件,而不是修改index.md文件。