上一页 1 ··· 4 5 6 7 8

2013年9月29日

C++学习之多态

摘要: http://blog.csdn.net/hackbuteer1/article/details/7475622C++ Primer 第四版 (中文版)P480:“引用和指针的静态类型和动态类型可以不同,这是C++用以支持多态性的基石”ps:好书面,考试的时候可以这样作答。多态(Polymorphisn)在C++中是通过虚函数实现的。通过前面的博客,如果类中有虚函数,编译器就会自动生成一个虚函数表,对象中包含一个指向虚函数表的指针。能够实现多态的关键在于:虚函数是允许被派生类重写的,在虚函数表中,派生类函数对覆盖(override)基类函数。除此之外,还必须通过指针或引用调用方法才行,将派生类 阅读全文

posted @ 2013-09-29 16:16 theCambrian.cpp 阅读(124) 评论(0) 推荐(0) 编辑

C++学习之对象模型

摘要: 1,C++对象模型参见文章: http://www.cnblogs.com/skynet/p/3343726.html http://blog.csdn.net/l09711/article/details/63966212,构造函数为什么不能是虚函数? 1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。 2. 从使用角度,虚函数主要用于在信... 阅读全文

posted @ 2013-09-29 16:02 theCambrian.cpp 阅读(190) 评论(0) 推荐(0) 编辑

2013年9月14日

linux多线程编程之条件变量

摘要: 这些天在看多线程的东西,看了两天的博客,对多线程编程有了大致的了解,但是很不明白的是讲的条件变量那块,本来以为互斥锁能解决一切,但是看了几篇博客,才知道自己这样偷懒不去搞懂是不行的,查了很多资料,好像看懂了条件变量这块,推荐下面几篇博客:http://blog.csdn.net/ithomer/article/details/6031723有个例子很不错http://egeho123.blogbus.com/logs/10821816.html条件锁pthread_cond_t说明,等待线程1。使用pthread_cond_wait前要先加锁2。pthread_cond_wait内部会解锁,然 阅读全文

posted @ 2013-09-14 22:12 theCambrian.cpp 阅读(317) 评论(0) 推荐(0) 编辑

2013年9月12日

Linux下的多线程编程

摘要: 作者:姚继锋 2001-08-11 09:05:00 来自:http://www.china-pub.com 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题。 使用多线程的理由之一... 阅读全文

posted @ 2013-09-12 19:46 theCambrian.cpp 阅读(282) 评论(0) 推荐(0) 编辑

linux下socket编程常用头文件

摘要: 原文:http://blog.chinaunix.net/uid-26073752-id-2014655.html(有修改)sys/types.h:数据类型定义(包含很多类型重定义,如pid_t、int8_t等) sys/socket.h:提供socket函数及数据结构,如socket()、bind()、connect()及struct sockaddr的定义等netinet/in.h:定义数据结构sockaddr_in,某些结构体声明、宏定义,如struct sockaddr_in、PROTO_ICMP、INADDR_ANY等arpa/inet.h:提供IP地址转换函数,某些函数声明,如in 阅读全文

posted @ 2013-09-12 15:56 theCambrian.cpp 阅读(2406) 评论(0) 推荐(0) 编辑

2013年9月11日

GDB常用调试命令

摘要: GDB调试命令命令描述backtrace(或bt)查看各级函数调用及参数finish连续运行到当前函数返回为止,然后停下来等待命令frame(或f) 帧编号选择栈帧info(或i) locals查看当前栈帧局部变量的值list(或l)列出源代码,接着上次的位置往下列,每次列10行list 行号列出从第几行开始的10行源代码list 函数名列出某个函数的源代码next(或n)执行下一行语句print(或p)打印表达式的值,通过表达式可以修改变量的值或者调用函数quit(或q)退出gdb调试环境set var修改变量的值start开始执行程序,停在main函数第一行语句前面等待命令step(或s) 阅读全文

posted @ 2013-09-11 23:07 theCambrian.cpp 阅读(235) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8

导航