简单记录一下Makefile和CMake的用法

浅玩一下vuepress

上个学期的专业前沿课要求做的网站,由于正好卡在期末,所以完全没时间搞,浅试了一下vuepress。确实是相当方便,特别是只需要文档的网页,上手特别容易,基本只要照着文档中的内容改配置文件即可。但是缺点就是可以自定义的地方比较少,样式也很烂大街。

不过对于我这种随便敷衍一下作业的也够了

网站部署到了GitHub Page上,放个链接 可以点这个

💡 阅读更多

TPO4-5Listening听写script存档

真的觉得听写没什么用,而且太浪费时间和精力了,到后面就完全是机械式听写了,根本不想思考了。准备改用精听了。

💡 阅读更多

TPO1-3Listening听写script存档

练了一下TPO听力的听写,在这边存个档。

说实话没什么用,而且相当耗时间,可能也只是因为我太菜了吧。。。

TPO2的没怎么写,因为OG上听力部分的练习就是TPO2的,大部分script都已经看过了所以懒得做了。

💡 阅读更多

对copy-constructor的一点理解

Memberwise Initialization

在默认情况下,当以某个class object作为另一个object的初值时,会发生成员逐一初始化,

1
2
Example E1(8);
Example E2 = E1;

class data member会被依次复制,即对象中的每个成员都会被复制到另一个对象的相应成员上。

对于这种情况:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Matrix {
public:
Matrix(int row, int col) : _row(row), _col(col)
{
_pmat = new double[row * col];
}
~Matrix()
{
delete [] _pmat;
}
private:
int _row, _col;
double *_pmat;
};


// in this case

Matrix mat(4, 4);
//此处constructor发生作用
{
Matrix mat2 = mat;
// 此处进行了default memberwise initialization
// ...
// 此处,mat2的destructor发生作用。
}

根据默认的成员逐一初始化,mat2._pmat = mat._pmat,所以这两个指针指向了同一个堆内存空间内的数组,当mat2的析构函数发生作用时,该内存空间便被释放,但是mat的指针还是指同一空间,此时再使用这个指针就会产生严重错误。

💡 阅读更多

在学C++Primer做的一些笔记

大概是一个月前,实在是闲的没事,在图书馆想找点C++的书学习学习这个我一直没深入的语言。本来是奔着Essential C++去的,结果找了一圈只有英文版的而且还是旧版,想想就还是算了吧,这种技术肯定是要看新标准的更好。最后只找到了这本C++ Primer,虽然我内心对这种大部头的书比较抗拒,但是要想学好一门技术,这种权威的书籍是最好的。

看看这包浆的封面和书页,这块大砖也肯定帮到过不少人吧。

💡 阅读更多

用React做的一个简易记事本(2):客户端

React项目的初始化搭建

由于手动搭建React环境过于麻烦,要的依赖相当多,需要花费大量时间在配置上,所以就直接使用React官方提供的create-react-app脚手架工具。

脚手架的使用有两种方法,一种是先用npm或yarn全局安装create-react-app然后再create-react-app my_app,另一种是使用npx create-react-app my_app这样就不用提前安装好create-react-app工具。

💡 阅读更多

记一些Markdown的基础标签写法

由于很久没有写博客了,很多Markdown的写法已经忘得差不多了。再加上最近又发现自己记忆力下降非常严重,学习新的东西不做点笔记实在是不行了,做笔记的话看了一下还是直接用md写比较方便,毕竟md用熟了以后玩GitHub的时候也能稍微写点像模像样的README。

所以在这里记录一下方便我以后要用了但想不起来时有地方找。

💡 阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×