- 博客(10)
- 收藏
- 关注
转载 Windows多线程编程总结
Windows多线程编程总结关键字:多线程 线程同步 线程池 内核对象1 内核对象1 .1内核对象的概念内核对象是内核分配的一个内存块,这种内存块是一个数据结构,表示内核对象的各种特征。并且只能由内核来访问。应用程序若需要访问内核对象,需要通过操作系统提供的函数来进行,不能直接访问内核对象(Windows从安全性方面来考虑的)。内核对象通过Create*来创建,返回一个用于标识
2016-06-28 11:07:22 2069
原创 __declspec(dllexport)和__declspec(dllimport)
__declspec(dllexport) __declspec(dllexport) 将一个函数声名为导出函数,就是说这个函数要被包含她的程序之外的程序调用。 extern "C" 指示编译器用C语言方法给函数命名。 在制作DLL导出函数时由于C++存在函数重载,因此__declspec(dllexport
2016-06-28 10:47:22 542
原创 C++拷贝构造函数——深拷贝/浅拷贝
基本概念:深拷贝: 将一个对象拷贝给另一个对象的时候,被赋值的对象存储赋值对象的一个额外副本。若类成员中含有指针成员,且用new初始化的时候,被赋值的成员,会申请一块内存,将赋值对象的指针成员所指的内存的内容复制到这块内存中。两个指针各自指向自己申请的内存。 浅拷贝: 和深拷贝相似,浅拷贝对于非指针成员都是直接赋值。但是当类成员中含指针成员,且用new初
2016-06-24 10:08:26 573
原创 C++类的自动转换
类的自动转换: 说明: C++允许程序员指定类之间进行转换的方式(含基本类型) 站在类的角度看问题,姑且分为“当前类” 和 “其他类” 假设: 当前类是程序员定义的,其他类既可以是程序员定义的,也可以是C++内置的基本类型方式: 通过定义 “转化函数” 1. 其他类转换为当前类 转化函数:
2016-06-23 15:47:26 429
原创 C++中 explicit显示转换
explicit 是避免构造函数的参数自动转换为类对象的标识符[cpp] view plain copy#include using namespace std; class A { public: explicit A(int a) { cout
2016-06-23 15:36:54 565
原创 c++11 多线程:让你的多线程任务更轻松
介绍本文旨在帮助有经验的Win32程序员来了解c++ 11线程库及同步对象 和 Win32线程及同步对象之间的区别和相似之处。在Win32中,所有的同步对象句柄(HANDLE)是全局句柄.它们可以被共享,甚至可以在进程间复制。在C++11中,所有的同步对象都是栈(stack)对象,这意味着它们必须是可“分离(detached)”的(如果支持“分离”的话)以便能够被栈框架(stack
2016-06-15 21:44:39 1080
原创 C++信号处理
信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 Ctrl+C 产生中断。有些信号不能被程序捕获,但是下表所列信号可以在程序中捕获,并可以基于信号采取适当的动作。这些信号是定义在 C++ 头文件 中。信号描述SIGABRT程序的异常终止,如调用 a
2016-06-15 14:22:07 1289
转载 C++ 类模板的定义和使用
如同函数模板一样,使用类模板使用户可以为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数、某些成员函数的返回值能取任意类型。类模板是对一批仅仅成员数据类型不同的类的抽象,程序员只要为这一批类所组成的整个类家族创建一个类模板,给出一套程序代码,就可以用来生成多种具体的类,(这类可以看作是类模板的实例),从而大大提高编程的效率。 定义类模板的一般形式是: template
2016-06-15 09:40:53 1471
转载 c++ 类的继承与派生
c++ 类的继承与派生一、基本概念1、类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类。 2、派生类的声明:class 派生类名:继承方式 基类名1, 继承方式 基类名2,...,继承方式 基类名n{ 派生类成员声明;}; 3、一个派生类可以同时有
2016-06-14 15:28:28 702 1
原创 C++ this指针详解
C++ this指针只能在一个类的成员函数中调用,它表示当前对象的地址 123456void Date::setMonth( int mn ){ month = mn; // 这三句是等价的 this->month = mn; (*this).month = mn;}
2016-06-13 21:44:31 538
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人