考研结束了

       考研结束了,下一届就轮到我们了,今天还跟同学聊了考研的事,我对考研政治不感冒,为什么要叫我们学政治?为什么要把这种信仰强加给我们?而那些申请国外研究生的同学就不用学了,凭什么?这真的很矛盾。我以后想搞技术。看了王道论坛上大家发的那些计算机试题,我觉得找工作的同学也应该准备,到公司里同样也可以研究数据结构和算法,不必总是沉浸在考研试题上,公司也是很强大的,更活!英语,我现在用到英语的地方就是喜欢用英文的谷歌搜索,国内问的技术问题外国人早就问过了,于是经常转到stackoverflow上,上面的回答者很有耐心,专业!比百度知道强。数学,我挺喜欢的,我的博客里有一个栏目就是Mathematics,自己的收藏夹里也收藏了很多国外不错的数学网站。想想高考,三年前的今天,2010年年初那时,正在准备一模,绝对地高度绷紧状态。三年真的挺快的,高三我绝对忘不了,那些人,那些事。大学这两年半,我的印象就是上课,自习,宿舍,很平淡,偶尔的活动也没什么太值得留念的,一般。今天考研结束后,教室的座位都被占完了,有的人雷声大,雨点小,我绝不会这样的!这是自欺欺人。两年半的学习过程中有的学科我也没有能驾驭住,但是考研来了,就不能犯糊涂了,一定要做好充分的准备!等到考研前一天自己也就有底了,也不会紧张了。我猜有的人会在考研前几天像热锅上的蚂蚁,想到还有什么什么没看,再来着急,那也已经没用了。先写到这吧!


2013/9/1

       今天晚上没去自习,昨晚在数学吧问了一个问题,很快就得到了答复,吧里面那些十几岁的小孩真牛,数学帝!逛啊逛,转到了算法吧,看到有个人发了篇排序的文章,叫 flash sort ,是桶排序的改进,于是又转到了维基百科,感觉跟前几天看的插值查找在原理上有些相似,都利用了关键字的大小,有些启发式的意味。看完之后,发现下方有张排序算法的列表,里面有种并行的排序算法,于是又看起来了,我还想着去自习呢。看得懵里懵懂,最后提供了个 Python 的程序实现,于是我就打开 VS,准备快速用 STL 实现一下,看看运行结果,改写完毕,编译没通过,提示的错误是“ error C2440: “初始化”: 无法从“std::_Vector_iterator<_Myvec>”转换为“int” ”,双击它,跳到了令人讨厌的头文件中,我想知道在我写的程序中是哪个地方错了!看这个错误是迭代器用错了,我又排查了程序中使用迭代器的代码,删了还是不行,于是百度、谷歌之,最后还是无济于事,我只好在程序中把所有使用迭代器的代码都删了,一行一行地排查,看看哪些地方涉及到了迭代器,终于,终于!找到了!是 vector.insert() 方法使用错了,我想连接两个 vector,用区间做参数,却未给出目的迭代器,以为默认是 end(),少了个参数,重载决议时编译器根据了参数个数,于是必须把传的迭代器转换为 int(这是 insert() 的一个版本),问题就出在这,其实我还是怪编译器,它没指出客户端代码哪个函数出错了,它应该把调用栈给显示出来!浪费了我大量时间。额,刚刚我又查了下,原来那一大堆出错信息就是调用栈,还是我错了。。。如下所示:

1>d:\program files\microsoft visual studio 10.0\vc\include\xmemory(208): error C2440: “初始化”: 无法从“std::_Vector_iterator<_Myvec>”转换为“int”
1>          with
1>          [
1>              _Myvec=std::_Vector_val<int,std::allocator<int>>
1>          ]
1>          没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>          d:\program files\microsoft visual studio 10.0\vc\include\xmemory(280): 参见对正在编译的函数 模板 实例化“void std::allocator<_Ty>::construct<std::_Vector_iterator<_Myvec>>(int *,_Other &&)”的引用
1>          with
1>          [
1>              _Ty=int,
1>              _Myvec=std::_Vector_val<int,std::allocator<int>>,
1>              _Other=std::_Vector_iterator<std::_Vector_val<int,std::allocator<int>>>
1>          ]
1>          d:\program files\microsoft visual studio 10.0\vc\include\vector(668): 参见对正在编译的函数 模板 实例化“void std::_Cons_val<std::allocator<_Ty>,int,std::_Vector_iterator<_Myvec>>(_Alloc &,_Ty1 *,_Ty2 &&)”的引用
1>          with
1>          [
1>              _Ty=int,
1>              _Myvec=std::_Vector_val<int,std::allocator<int>>,
1>              _Alloc=std::allocator<int>,
1>              _Ty1=int,
1>              _Ty2=std::_Vector_iterator<std::_Vector_val<int,std::allocator<int>>>
1>          ]
1>          d:\program files\microsoft visual studio 10.0\vc\include\vector(688): 参见对正在编译的函数 模板 实例化“void std::vector<_Ty>::emplace_back<std::_Vector_iterator<_Myvec>>(_Valty &&)”的引用
1>          with
1>          [
1>              _Ty=int,
1>              _Myvec=std::_Vector_val<int,std::allocator<int>>,
1>              _Valty=std::_Vector_iterator<std::_Vector_val<int,std::allocator<int>>>
1>          ]
1>          d:\program files\microsoft visual studio 10.0\vc\include\vector(675): 参见对正在编译的函数 模板 实例化“std::_Vector_iterator<_Myvec> std::vector<_Ty>::emplace<std::_Vector_iterator<_Myvec>>(std::_Vector_const_iterator<_Myvec>,_Valty &&)”的引用
1>          with
1>          [
1>              _Myvec=std::_Vector_val<int,std::allocator<int>>,
1>              _Ty=int,
1>              _Valty=std::_Vector_iterator<std::_Vector_val<int,std::allocator<int>>>
1>          ]
1>          h:\pe\pe\test.cpp(11): 参见对正在编译的函数 模板 实例化“std::_Vector_iterator<_Myvec> std::vector<_Ty>::insert<std::_Vector_iterator<_Myvec>>(std::_Vector_const_iterator<_Myvec>,_Valty &&)”的引用
1>          with
1>          [
1>              _Myvec=std::_Vector_val<int,std::allocator<int>>,
1>              _Ty=int,
1>              _Valty=std::_Vector_iterator<std::_Vector_val<int,std::allocator<int>>>
1>          ]
最下面就是我调用的函数,显示的是 insert(),这次涨姿势了!吃一堑长一智!我该好好学习下 VS 这个 IDE了。

       再聊聊考研吧,暑假我看了两个月的书,数学、英语、计算机。过两天得上政治辅导班了。今天晚上没去自习,我又有点怪罪自己了,今天的数学任务没完成,英语单词没看。先写到这里吧。


2015.12.5

学习 Linux 有感

       好久没写博客了,不像以前随便知道点什么就写到博客上,现在写博客就想写高质量的博客,比如花了很多时间和心思在一个主题上,然后才写到博客上。

       现在想想,要说大学最后悔的事,我觉得是没有接触 Linux,大学时用了4年的 Visual Studio,每次要写程序,先打开一个 VS,大概等个10秒钟吧,才出来编辑界面,编译也是搞半天。现在完全不是这种方式了,在 Linux 上写程序,讲究的就是简洁和快!从各种工具就可以看出。以前在 Windows 上搜索文件有个很厉害的工具叫 Everything,而在 Linux 上有个命令叫 locate,也是瞬间搜索。Linux(或是其他类 Unix 系统)上的很多命令在 Windows 上看来就是一个软件。不过到现在我还是认为 VS 是最强大的 IDE,其实写 C/C++ 程序我只希望编辑工具有两个功能:能向 VS 那样正确快速地跳转到变量的定义和补全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值