C++

打造自己的专业图像工具-Visual C++ 2005图像

很久没有认真的写文章了,想通过开发一个完整的图像处理程序来对一些的知识进行总结。也希望自己在此方面更进一步。在我们的图像处理程序中,将实现类似PhotoShop的一些常用图像工具和功能。在此先列出一个类似目录的东西,也是给自己定下的一个计划。希望能激励自己坚持下去,写完这个系列的文章。这里所有的C++都是指非托管的C++。第一部分:基础知识介绍1.VisualC++2005集成环境介绍2.图像处理预备知识第二部分:界面实现1.工具栏1.1工具箱的属性设置栏

系统 2019-08-29 22:48:15 2380

C++

基于VC++的OpenGL编程讲座之坐标变换

OpenGL通过相机模拟、可以实现计算机图形学中最基本的三维变换,即几何变换、投影变换、裁剪变换、视口变换等,同时,OpenGL还实现了矩阵堆栈等。理解掌握了有关坐标变换的内容,就算真正走进了精彩地三维世界。一、OpenGL中的三维物体的显示(一)坐标系统在现实世界中,所有的物体都具有三维特征,但计算机本身只能处理数字,显示二维的图形,将三维物体及二维数据联系在一起的唯一纽带就是坐标。为了使被显示的三维物体数字化,要在被显示的物体所在的空间中定义一个坐标系

系统 2019-08-29 23:27:48 2378

C++

安全编码实践三:C/C++静态代码分析工具Prefast

《程序员》5月文章。申明。文章仅代表个人观点,与所在公司无任何联系。概述在前面的安全编码实践的文章里,我们讨论了GS编译选项和数据执行保护DEP功能。结论是GS和DEP可以有效的缓解缓存溢出类型的安全漏洞的危害。关于这个结论,有两个大家需要值得注意的地方。第一:GS和DEP是缓解(mitigation)措施。也就是说,代码本身仍然存在着安全漏洞,只是由于GS和DEP降

系统 2019-08-29 23:04:24 2373

C++

Install C++ Boost on Ubuntu

InstallC++BoostonUbuntu|ShiChuan'sblogInstallC++BoostonUbuntuPostedonFebruary16,2009byShiChuanTweetBoostisprobablythemostpopularC++library,toinstallC++BoostonUbuntuiseasy.Openyourterminalandtypethefollowingcommandtoinstallthepacka

系统 2019-08-12 01:32:25 2369

C++

C++内存对象大会战

C++内存对象大会战如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄漏,比如悬挂指针。笔者今天在这里并不是要讨论如何避免这些问题,而是想从另外一个角度来认识C++内存对象。我们知道,C++将内存划分为三个逻辑区域:堆、栈和静态存

系统 2019-08-29 22:08:04 2360

C++

C++ STL中哈希表 hash_map介绍

0为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻的方法就是取得所有的记录,然后按照名字一个一个比较。如果要速度快,就需要把这些记录按照字母顺序排

系统 2019-08-29 22:53:28 2358

C++

浅出C++对象模型——理解构造函数、析构函数执

本文主要说明对象创建时构造函数的执行顺序,对象成员的初始化顺序;对象销毁时析构函数的执行顺序,对象成员的销毁顺序。“对象的构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编译器将无法自动执行析构过程。一个有趣的现象是,成员对象初始化的次序完全不受它们在初始化表中次序的影响,只由成员对象在类中声明的次序决定。这是因为类的声明是唯一的,而类的构造函数可以有多个,因

系统 2019-08-29 22:28:44 2355

C++

我所理解的设计模式(C++实现)——外观模式(F

概述想想我们小时候玩的四驱车,里面的构造很复杂,马达,舵机,电池组等等,而我们控制它却非常简单,只要打开电池开关,他就可以跑。我们其实不用知道它里面是如何工作,只要知道拨动开关它就可以工作就行了,这个开关其实就四驱车给我们的一个友好的组件,使得我们可以很方便的控制它。外观模式其实定义了一个高层接口,该接口为子系统中的一组接口提供一个一致的界面,使得这一子系统更加容易使用。类图和样例在这个对象图中,出现了两个角色:外观(Facade)角色:客户端可以调用这个

系统 2019-08-29 23:02:52 2344

C++

c++中调用cygwin/x使用ncl

1.C++中调用程序:ShellExecute(NULL,L"open",L"cmd.exe",L"/cd:&cdcygwin&cygwin.bat",L"D:\\cygwin\\",SW_HIDE);2.修改cygwin.bat:@echooffD:chdirD:\cygwin\binbash--login-i改成:@echooffsetCYGWIN=binmodettyntsecD:for/f%%iin('tasklist')doif/i%%i==XW

系统 2019-08-12 09:27:06 2299

C++

Visual Leak Detector for Visual C++ 2008/201

VisualLeakDetectorforVisualC++2008/2010/2012VisualLeakDetectorforVisualC++2008/2010/2012ProjectDescriptionVisualLeakDetectorisafree,robust,open-sourcememoryleakdetectionsystemforVisualC++.It'sprettyeasytouse.Afterinstallingit,youj

系统 2019-08-12 01:32:41 2280

C++

Loki (C++) - Wikipedia, the free encyclopedi

Loki(C++)-Wikipedia,thefreeencyclopediaLoki(C++)FromWikipedia,thefreeencyclopediaJumpto:navigation,searchLokiC++LibraryDeveloper(s)AndreiAlexandrescuStablerelease0.1.7/January29,2009;3yearsago(2009-01-29)ProgramminglanguageusedC++

系统 2019-08-12 01:33:24 2269

C++

从C/C++语言到Objective-C语言

无标题文档原文链接:http://www.yifeiyang.net/iphone-development-introduction-7-from-the-c-c-language-to-objective-c-language/Objective-C,通常写作ObjC和较少用的ObjectiveC或Obj-C,是扩充C的面向对象编程语言。所以有一定C/C++语言基础理解和掌握Objective-C也会相应的快些。这回,我们将比较着学习Objective-

系统 2019-08-12 09:30:10 2252

C++

C++学习笔记(五)--虚函数表解析

前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从

系统 2019-08-29 23:23:28 2247