最近一直忙活期末考试来着w 终于考完试了!果然还是需要好好学习才能在考试周中保持淡定呀w
sort
今天在给一同学讲题的时候,用sort排序一个原生数组(int[]这样的),代码这么写的
sort(&stu[0],&stu[N-1],cmp)
然而实际运行起来并不正确w 于是就百度了一下发现sort用于原生数组的时候,应该这么写
sort(stu,stu+N,cmp)
顿时感觉好神奇,stu+N这个地址不是越界了么??为什么要这么写呢?
X_X 然而对于这个问题仍然无解w
std::thread
在CodeBlocks上看了<thread>的源码,扒来扒去发现include了pthread.h ... 感觉好无语。。我记得前几天自己用pthread替换thread的。。
现在我对thread有了一个新的认识,一个thread对象创建之后,可以通过join()操作等待运行结束,也可以通过detach()操作和主线程分离。但是detach()之后的线程不能重新join(),这样主线程退出之后,子线程可能会被强制停止。网上还有说C++的这个thread如何被其他thread终止,答案是不能被终止。(= =)但是这并不能表明C++的这个thread就不好w 个人觉得还是很好用的,如果要求特别高也可以用一下C++提供的锁,这样可以少研究很多平台相关的东西,更能够在不同平台之间移植。
多线程
最近在做登录接口的时候,我一直受到网络延迟和网络波动的严重影响,(其实这也不能全怪学校网不好...)导致登录程序不能正常运行。反复研究之后我发现在登录确认环节,与服务器通信次数其实可以减少一些。而且 可以使用并发多线程来解决这个问题。这样可以在加载信息的时候获取其他数据,提高用户在网络情况不是特别理想的情况下的体验w