C++完美转发与std::forward

初次遇到std::forward是在阅读std::make_shared源码时看到的,当时不少很能理解为什么这可以达到完美转发的目的。这里来总结一下。 引用折叠std::forward的出现是因为C++11右值语义的出现,而有时候我们需要写下面的代码进行参数的转发。 template<class T> void foo(T&& arg) { ...     阅读全文
vhyz's avatar
vhyz 9月 13, 2018

造shared_ptr轮子时需要注意的几点

最近在写智能指针shared_ptr的实现,本以为是一个比较简单的轮子,但其实内部实现是比较复杂的,总的来说总共有以下几项。 内部数据结构的实现shared_ptr有两个私有成员,一个为指向对象指针,另一个为引用计数块的指针。 我刚开始以为内部只是一个指向对象指针和一个引用计数(比如size_t)的指针,其实内部构造并不是这么简单,智能指针shared_ptr需要满足下面几点。...     阅读全文
vhyz's avatar
vhyz 7月 28, 2018

用Python实现模拟登录正方教务系统抢课

最近学校开始选课,但是如果选课时间与自己的事情冲突,这时候就可以使用Python脚本自助抢课,抢课的第一步即是模拟登录,需要模拟登录后保存登录信息然后再进行操作。 而且整个流程是比较简单,这是因为正方教务系统是比较旧的,全文的IP地址部分遮挡,请换成你们学校的IP地址。 尝试登录首先我们打开学校的教务系统,随便输入,然后提交表单,打开Chrome的开发者工具中的Network准备抓包     阅读全文
vhyz's avatar
vhyz 6月 12, 2018

hexo博客同时部署到github和VPS上

前言有一台VPS一直空闲,未免有点浪费,所以想把博客部署到VPS上,并且绑定域名 之前尝试过这么做过,但是一直都没有成功,因为这其中有很多细节都是需要注意的,所以还是写一篇博客来记录这次的部署过程 以后换VPS的时候就不用像这次一样到处查找资料了 原理部署到VPS的原理即是在VPS上搭...     阅读全文
vhyz's avatar
vhyz 6月 09, 2018

字符串匹配

正则表达式匹配‘.’ Matches any single character. ‘*’ Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype should be:     阅读全文
vhyz's avatar
vhyz 3月 31, 2018