自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (5)
  • 收藏
  • 关注

转载 线程通信 消息队列

转载   http://blog.csdn.net/ygrx/article/details/8964804首先,本文提到的代码的github地址为:https://github.com/wyh267/Cplusplus_Thread_Lib之前,多线程一些基本的东西,包括线程创建,互斥锁,信号量,我们都已经封装,下面来看看消息队列

2016-10-31 11:23:48 1664 1

转载 线程间通信

线程间的通信1.线程之间的通信简介一般而言,在一个应用程序中(即进程),一个线程往往不是孤立存在的,常常需要和其它线程通信,以执行特定的任务。如主线程和次线程,次线程与次线程,工作线程和用户界面线程等。这样,线程与线程间必定有一个信息传递的渠道。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的。线程间的通信涉及到4个问题:(1) 线程间如何传递信息

2016-10-31 10:51:51 343

原创 面试题

面试要打印出上面的样式的字符。#include "stdio.h"#include using namespace std;int main(){ int j,i,k; char str[100]={'\0'}; for (int i=1;i<8;i++) { for (int j=i-1;j>=0;j--) { str[j*i]='*'; for (int k

2016-10-26 23:08:10 268

转载 详细介绍常用的线程同步互斥机制 关键段、事件、互斥量、信号量

来详细介绍常用的线程同步互斥机制——关键段、事件、互斥量、信号量。下面对它们作个总结,帮助大家梳理各个知识点。 首先来看下关于线程同步互斥的概念性的知识,相信大家通过前面的文章,已经对线程同步互斥有一定的认识了,也能模糊的说出线程同步互斥的各种概念性知识,下面再列出从《计算机操作系统》一书中选取的一些关于线程同步互斥的描述。相信先有个初步而模糊的印象再看下权威的定义,应该会记忆的特别深刻。

2016-10-23 14:28:54 785

转载 多线程 临界区CRITICAL_SECTION

上一篇《秒杀多线程第四篇 一个经典的多线程同步问题》提出了一个经典的多线程同步互斥问题,本篇将用关键段CRITICAL_SECTION来尝试解决这个问题。本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理。关键段CRITICAL_SECTION一共就四个函数,使用很是方便。下面是这四个函数的原型和使用说明。 函数功能:初始化函数原型:void Init

2016-10-23 02:26:22 776

原创 多线程同步Mutex

//经典线程同步问题 互斥量Mutex #include #include #include long g_nNum; unsigned int __stdcall Fun(void *pPM); unsigned int __stdcall Fun1(void *pPM); unsigned int __stdcall Fun2(void *pPM);

2016-10-23 02:18:27 410

原创 C++复制构造函数与友员

C++  的复制构造函数经常会使用在对象复制的时候。 使用场所:                    1 产生副本的时候。如class AAA; AAA a; AAA b(a);                    2 对象作为参数传递给函数的时候,对象作为返回值返回的时候。I 格式:     声明                  类名(const 类名& anoth

2016-10-22 00:55:21 218

转载 模板(Template)指C++

引言模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。函数模板在c++入门中,很多人会接触swap(int&, int&)这样的函数类似代码如下:void swap(int&a , int& b) { int temp = a

2016-10-21 19:30:15 217

原创 C++ Template List(part)

#include using namespace std;template class mynode{public: T m_obj; mynode * m_next;}; template class myList{public: myList() { m_header=NULL; } void create( T val); void addtotail

2016-10-21 18:45:48 368

原创 自己写的链表模板类

#include using namespace std;template class Node{public: Node() { m_header=NULL; m_pNext=NULL; } void CreateList(T newNodeCuntter); int GetListSize(); void AddToTail( T newNodeCuntt

2016-10-21 17:28:46 439

转载 C++ 运算符重载

C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性。运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的操作。运算符函数的定义与其他函数的定义类似,

2016-10-17 16:31:48 508

原创 C++模板的理解

#include #include using namespace std;//using std::cout;//using std::cin;//using std::endl;template class stack{public: void push(T& a); T pop(); stack( int maxSize);//int maxSize void sh

2016-10-17 16:15:11 332

转载 模板类中输入流“>>”和输出流“<<”的重载

模板类中操作符重载问题(">"重载)在模板类中输入流“>>”和输出流“>"的重载。一、将输出流">"重载的实现写在类中#include "stdafx.h"#include   using   namespace   std;     templateclass T>  class Test  {     public:        Tes

2016-10-17 14:33:51 581

原创 c++ 好的博客

http://www.cnblogs.com/ggjucheng/archive/2012/08/18/2645319.htmlhttp://www.cnblogs.com/xkfz007/articles/2534322.htmlhttps://segmentfault.com/q/1010000000631733

2016-10-17 13:50:14 357

转载 C++ Template

1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.float

2016-10-17 09:19:17 311

原创 opencv 访问每个像素点

/http://blog.csdn.net/moc062066  //20111128  #include "opencv2/opencv.hpp"  #include     using namespace std;  using namespace cv;     int main(int argc,char** argv)  {        co

2016-10-14 11:30:20 338

转载 typeid

在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。在C++中,为了支持RTTI提供了两个操作符:dynamic_cast和typeid。    dyn

2016-10-12 12:57:14 261

转载 二叉数的遍历

1#include stdio.h>  2#include stdarg.h>  3  4#ifndef bool  5#define bool unsigned int  6#define false    0  7#define true    1  8#endif  9 10#ifndef NULL 11#define NULL    0 12#e

2016-10-12 12:34:26 262

原创 智能指针小代码

智能指针就是封装一个模板类。里面有一个计数器。方便我们去创建,他会自动去回收指针,而不用我们去delete。#include #include #include using namespace std;class Stub{public:string str;void print(){cout}~Stub(){cout}}

2016-10-12 11:03:46 217

转载 VC 读取usb相机

使用vfw# include //加入视频采集所需头文件 需要用到Vfw32.lib库,在project->setting->link->object/library modules中添加          char achDeviceVersion[80] ; // 设备版本信息          char achDeviceAndVersion[160]; //设备名及版本信息

2016-10-10 17:39:26 4157

GDI 双缓存 以及简单绘图

GDI 双缓存 以及简单绘图,从读取图片到显示,双缓存显示等 vs2010

2018-05-24

c++2级指针的使用

2级指针 c++,对于加深C++ 指针的理解,有些帮助

2018-05-17

MFC UI 线程的使用

MFC UI 线程 ,以及对UI线程发送消息。CWinThread的使用,以及宏 ON_THREAD_MESSAGE ,PostThreadMessage的使用。

2018-05-17

使用字符在dll中创建类,实现多态

使用字符在dll中创建类,实现多态,可以避免dll 不能更改类的 ,避免dll地狱问题

2018-05-16

凹凸效果按钮

实现具有切换开关的按钮 ,有凹凸效果的按钮,在vs2005测试通过。效果很好

2014-05-05

空空如也

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

TA关注的人

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