• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我叫周某某
路漫漫其修远兮 吾将上下而求索
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理
上一页 1 2 3 4 下一页

2015年5月4日

多重继承下的virtual functions
摘要: 有如下图所示的继承关系: 有如下代码示例: 在早期的未符合c++标准的的编译器上是会报错的,因为对于clone()函数来说,编译器不知道怎么处理处理。但是时至今日c++做了修改,那么这是怎么实现的呢? 这个问题有以下两种解决方案: 一种是在虚函数表中不光存放真正调用函数的地址,还存上需要对this指针进行调整的偏移,在调用时,直接给this指针加... 阅读全文
posted @ 2015-05-04 17:04 周某某 阅读(235) 评论(0) 推荐(0)
 
virtual member functions(单一继承情况)
摘要: virtual member functions的实现(就单一继承而言): 1.实现:首先会给有多态的class object身上增加两个members:一个字符串或数字便是class的类型,一个是指针,指向某表格,表格中带有程序的virtual functions的执行期的地址(具体一点是一个offset,相对于对象首地址的偏移量),表格中的地址是在编译期被建立起来的,而且这一组地址是固定不... 阅读全文
posted @ 2015-05-04 13:29 周某某 阅读(232) 评论(0) 推荐(0)
 
 

2015年4月28日

主机字节序和网络字节序(大端序,小端序,网络序)
摘要: 根据cpu的不同我们可以把主机字节序在内存中存储的顺序叫做主机序,也就是我们常说的,大端机和小端机。我们经常看到的有两种: 1.小端机(内存中以小端序存储的机器);将低字节序存储在开始的地址(及内存较小的内存) 2.大端机(内存中以大端序存储的机器):将高字节序存储在开始的的地址 举个例子:我们将内存从左到右排列:在内存中存放0x01020304 2000... 阅读全文
posted @ 2015-04-28 15:52 周某某 阅读(1492) 评论(0) 推荐(0)
 
 

2015年4月24日

C++中结构和类的区别
摘要: 首先从从语言角度来看,c语言是一种结构化的语言,便于按照模块化的方式来组织程序,易于程序员的调试和维护,而对于c++来说,我么可以认为它是标准c的超集。实际上所有的c程序也是c++程序。但两者之间还是有少量的区别。 区别: 结构是C语言中的一种数据的组合的形式,c++从c中继承了结构。在语法上,类与结构类似。在关系上,两者也是很接近的。在c++中,结构的作用被拓宽了。在一定的程度上结构成了一种... 阅读全文
posted @ 2015-04-24 12:51 周某某 阅读(424) 评论(0) 推荐(0)
 
 

2015年4月23日

计时器与信号
摘要: 1.1. 睡眠函数 Linux下有两个睡眠函数,原型为: #include unsigned int sleep(unsigned int seconds); void usleep(unsigned long usec); 函数sleep让进程睡眠seconds秒,函数usleep让进程睡眠usec微秒。 sleep睡眠函数内部是用信号机制进行处理的,用到的函数有: #inclu... 阅读全文
posted @ 2015-04-23 01:29 周某某 阅读(313) 评论(0) 推荐(0)
 
程序处理信号
摘要: 1. 用程序发送信号 1.1. kill信号发送函数 原型为: #include #include int kill(pid_t pid, int sig); 参数pid为将要接受信号的进程的pid,可以通过getpid()函数获得来给自身发送信号,还可以发送信号给指定的进程,此时pid有如下描述: pid > 0 将信号发给ID为pid的进程 pid == 0 将信号发送给与... 阅读全文
posted @ 2015-04-23 01:28 周某某 阅读(191) 评论(0) 推荐(0)
 
信号处理(二)
摘要: 1.1. sigprocmask信号阻塞 函数sigaction中设置的被阻塞信号集合只是针对于要处理的信号,例如 struct sigaction act; sigemptyset(&act.sa_mask); sigaddset(&act.sa_mask,SIGQUIT); sigaction(SIGINT,&act,NULL); 表示只有在处理信号SIGINT时,才阻塞信号SIG... 阅读全文
posted @ 2015-04-23 01:27 周某某 阅读(213) 评论(0) 推荐(0)
 
信号处理(一)
摘要: 1. 信号概念 信号是进程在运行过程中,由自身产生或由进程外部发过来的消息(事件)。信号是硬件中断的软件模拟(软中断)。每个信号用一个整型常量宏表示,以SIG开头,比如SIGCHLD、SIGINT等,它们在系统头文件中定义,也可以通过在shell下键入kill –l查看信号列表,或者键入man 7 signal查看更详细的说明。 信号的生成来自内核,让内核生成信号的请求来自3个地方: l 用... 阅读全文
posted @ 2015-04-23 01:26 周某某 阅读(382) 评论(0) 推荐(0)
 
 

2015年4月21日

fill函数和fill_n函数
摘要: fill_n函数的作用是:给你一个起始点,然后再给你一个数值count和val。把从起始点开始依次赋予count个元素val的值。 注意: 不能在没有元素的空容器上调用fill_n函数 列子: fill函数的作用是:将一个区间的元素都赋予val值。函数参数:fill(first,last,val);//first为容器的首迭代器,last为容器的末迭代器,val为将要替换的值... 阅读全文
posted @ 2015-04-21 21:57 周某某 阅读(616) 评论(0) 推荐(0)
 
 

2015年4月19日

cin,和几个get函数的用法
摘要: 1.cin.get(字符变量名):用来接收字符 ch = cin.get(); cin.get(ch); 以上两者均可以 2.cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格 cin.get(a,20);a为字符数组名 3.cin.get(),用来了过滤你输入字符串中的不需要的字符。 4.cin.getline():获取一个字符串,可以有空格并输出 ... 阅读全文
posted @ 2015-04-19 15:59 周某某 阅读(1515) 评论(0) 推荐(0)
 
 
上一页 1 2 3 4 下一页

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3