自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 同步、异步和阻塞、非阻塞

“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调

2015-04-27 14:37:28 412

原创 union中的内存分配

在union联合体中,所有的变量是公用一个内存的,即以最大内存变量作为整个union的内存空间进行申请。同时也服从内存对其的策略,即如果同时又一个char和一个int类型,则占据4个字节的内存空间,最低字节就是char所对应的值,而如果单纯的只给char变量赋值,则int型变量的高三个字节是未定义的。#includeusing namespace std;union CC{ int

2015-04-21 17:10:34 4525

原创 new和malloc的区别

1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.

2015-04-20 21:24:37 399

转载 进程间通信

进程通信的含义进程是转入内存并准备执行的程序,每个程序都有私有的虚拟地址空间,由代码,数据以及它可利用的系统资源(如文件,管道)组成.多进程/多线程是windows操作系统的一个基本特征.Linux系统一般都统称为进程.由于不同的进程运行在各自不同的内存空间中,其中一个进程对于变量的修改另一方是无法感知的,因此,进程之间的消息传递不能通过变量或其他数据结构直接进行,只能通过进程间通

2015-04-17 10:53:27 806

转载 c/c++内存分配与内存对齐全面探讨

不明白内存分配和指针的可以看看,其实这本是我们老师留的一个操作系统科技小论文作业,不知道写什么,干脆把以前收藏的经典C内存分配的文章整理并修改了一下。       此文章有2个用处,1:这是个小论文,格式完整,大家可以复制回去交作业;2:这是整理的经典C内存分配小教程(也加了些我自己的观点),不明白内存分配的可以看看。还有很重要的一个问题:      这篇文章引用的很多内容我也不知道究竟是出自

2015-04-17 10:50:33 431

转载 进程、线程通信与同步

1.0 Linux进程间通讯管道/FIFO:管道中还有命名管道和非命名管道(即匿名管道)之分,非命名管道(即匿名管道)只能用于父子进程通讯,命名管道可用于非父子进程,命名管道就是FIFO,管道是先进先出的通讯方式    消息队列:消息队列是用于两个进程之间的通讯,首先在一个进程中创建一个消息队列,然后再往消息队列中写数据,而另一个进程则从那个消息队列中取数据. 需要注意的是,消息队列是

2015-04-17 10:48:14 496

转载 c++重载、覆盖和隐藏

4.c++重载、覆盖、隐藏的区别和执行方式既然说到了继承的问题,那么不妨讨论一下经常提到的重载,覆盖和隐藏4.1成员函数被重载的特征(1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 4.2“覆盖”是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类); (2)函数名字相同

2015-04-17 10:14:38 445

原创 C++虚拟继承例子

代码如下:#includeusing namespace std;class Base {public: void fun(){cout<<"Base::fun"<<endl;} virtual void f() { cout << "Base::f" << endl; } virtual void g() { cout << "Base::g" << endl; }

2015-04-16 22:19:40 580

转载 c++ 虚继承详解

#include using namespace std;class A{ virtual void f(){};};class B : public virtual  A{   virtual void f(){};};class C: public virtual  A{ virtual void f(){}; virtual void t(){

2015-04-16 22:17:51 541

转载 C++ 虚函数表解析

转自:http://blog.csdn.net/haoel/article/details/1948051前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:

2015-04-15 22:01:20 499 1

原创 vector的所有函数和使用的注意事项

1、构造函数:       (1)vector       (2)vector       (3)vector       (4)vector       (5)vector       (6)vector2、assign函数:(只有顺序容器有)assign函数可以对已有容器进行重新赋值,可以改变原来容器的size和capacity。构造函数只能用相同容器类型和相同

2015-04-11 14:16:42 5503 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除