
C++
fjgui
这个作者很懒,什么都没留下…
展开
-
static作用
1>隐藏:如果加了static,就会对其他源文件隐藏。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程序的整个生命周期中存在,由于它是static的,它不能被其他的函数和源文件访问2>static变量还有两个特性: 1.保持变量内容的持久,只能初始化一次。存储在静态数据区的变量在原创 2016-06-24 17:18:47 · 337 阅读 · 0 评论 -
nanosleep()函数使用
nanosleep()函数会导致当前的线程将暂停执行,直到rqtp参数所指定的时间间隔。或者在指定时间间隔内有信号传递到当前线程,将引起当前线程调用信号捕获函数或终止该线程。#include #include #include #include void* pthread_do(void *arg){ struct timespec ts, ts1; int c转载 2016-07-08 16:24:13 · 9669 阅读 · 0 评论 -
STL实现的底层数据结构简介
C++ STL 的实现:1.vector 底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack 底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限转载 2016-08-05 15:26:50 · 386 阅读 · 0 评论 -
如何处理被中断的系统调用
1. 术语1.1. 慢系统调用(Slow system call)该术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就会一直阻塞。慢系统调用可以被永久阻塞,包括以下几个类别:(1)读写‘慢’设备(包括pipe,终端设备,网络连接等)。读时,数据不存在转载 2016-08-05 17:36:41 · 3162 阅读 · 0 评论