文章 2014-08-05 来自:开发者社区

二分查找法的C++泛型实现

算法很简单,直接贴代码啦   #include <iostream> using namespace std; template<typename T> int binary_search(const T s[],const int size,const T &m) { if(size <= 0){ return -1; } int i = s...

文章 2014-06-22 来自:开发者社区

C++11中的mutex, lock,condition variable实现分析

本文分析的是llvm libc++的实现:http://libcxx.llvm.org/ C++11中的各种mutex, lock对象,实际上都是对posix的mutex,condition的封装。不过里面也有很多细节值得学习。 std::mutex 先来看下std::mutex: 包增了一个pthread_mutex_t __m_,很简单,每个函数该干嘛就干嘛。 class mutex { .....

文章 2014-06-22 来自:开发者社区

C++11中once_flag,call_once实现分析

本文的分析基于llvm的libc++,而不是gun的libstdc++,因为libstdc++的代码里太多宏了,看起来蛋疼。 在多线程编程中,有一个常见的情景是某个任务只需要执行一次。在C++11中提供了很方便的辅助类once_flag,call_once。 声明 首先来看一下once_flag和call_once的声明: struct once_flag { constexpr on...

文章 2014-05-27 来自:开发者社区

【16】C++实现单例模式

       只能生成一个实例的类是实现了单例模式的类型,由于只能生成一个实例对象所以类的构造函数必须是private,因为类的构造函数是private我们只能通过类访问类的静态成员函数构造出一个实例。 1. 单线程环境 //实现单例模式 class SingleTon{ public: static SingleTon* GetInstance(void)...

文章 2014-05-02 来自:开发者社区

VC++实现位图显示透明效果--实现原理

我们在进行程序的界面设计时,常常希望将位图的关键部分,也既是图像的前景显示在界面上,而将位图的背景隐藏起来,将位图与界面很自然的融合在一起,本文介绍了透明位图的制作知识,并将透明位图在一个对话框中显示了出来。本文所使用的原始位图及程序编译运行后的界面效果如下图所示: 图一、原始位图 图二、对话框界面上透明显示位图   一、实现方法  绘制"透明"位图是指绘制某一位图中除指定颜色外的其余...

文章 2014-04-30 来自:开发者社区

VC++ WIN32 sdk实现按钮自绘详解 之二.

网上找了很多,可只是给出代码,没有详细解释,不便初学者理解.我就抄回冷饭.把这个再拿出来说说. 实例图片:    首先建立一个标准的Win32 Application 工程.选择a simple Win32 Application. 然后建立我们的资源文件首先新建一个对话框资源,资源ID改为IDD_MAIN_DLG 然后在其上新建一个按钮控件资源ID改为IDC_ODB...

文章 2014-04-30 来自:开发者社区

VC++ WIN32 sdk实现按钮自绘详解.

网上找了很多,可只是给出代码,没有详细解释,不便初学者理解.我就抄回冷饭.把这个再拿出来说说. 实例图片:    首先建立一个标准的Win32 Application 工程.选择a simple Win32 Application. 然后建立我们的资源文件首先新建一个对话框资源,资源ID改为IDD_MAIN_DLG 然后在其上新建一个按钮控件资源ID改为IDC_ODB...

文章 2014-04-30 来自:开发者社区

眼见为实(1):C++基本概念在编译器中的实现

眼见为实(1):C++基本概念在编译器中的实现 对于C++对象模型,相信很多程序员都耳熟能详。 本文试图通过一个简单的例子演示一些C++基本概念在编译器中的实现,以期达到眼见为实的效果。 本文的演示程序(http://www.fmddlmyy.cn/cpptest.zip)可以从我的个人主页下载。程序包中包含用VC6、VC7、BCB、Dev-C++和MinGW建立的项目。下文中的打印输出和汇编代....

文章 2014-04-15 来自:开发者社区

C++第8周(春)项目1 实现复数类中的运算符重载

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目1】实现复数类中的运算符重载(1)请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除 class Complex { public: Complex(){real=0;imag=0;} Co...

文章 2014-03-18 来自:开发者社区

C++(MFC)中WebBrowser去除3D边框的方法(实现IDocHostUIHandler接口)

先说实在的:最终解决办法是实现IDocHostUIHandler接口,在GetHostInfo方法里解决,但“实现接口”意味着QueryInterface、AddRef、Release三个方法必须实现,所以相关代码是:class CMyWebBrowser : public IDocHostUIHandler{public:    CMyWebBrowser() { ...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注