
C++
文章平均质量分 66
hwb506
这个作者很懒,什么都没留下…
展开
-
联合(union)
联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出! 1、什么是联合? “联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”转载 2010-04-04 15:12:00 · 508 阅读 · 0 评论 -
贪心算法(Greedy algorithm)
转自:http://www.cnblogs.com/chinazhangjie/archive/2010/11/23/1885330.html顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上转载 2011-08-31 21:03:56 · 1094 阅读 · 0 评论 -
VS2008 制作类的DLL
转自:http://blog.youkuaiyun.com/zhenxiaohui/article/details/5661352在网上找了好多制作动态库的资料都是关于函数动态库的方法,很少关于类动态库资料。今天拿到老大的程序,认真研究了一下,发现他是基于抽象类的方法,在dll类里面声明转载 2011-08-03 15:25:34 · 543 阅读 · 0 评论 -
一个简单的CDIB类
转自:http://blog.youkuaiyun.com/sjiang2142/article/details/6445108头文件Cdib.hview plain#ifndef __CDIB_H #define __CDIB_转载 2011-08-25 17:52:30 · 788 阅读 · 0 评论 -
讲讲volatile的作用
转自: http://blog.21ic.com/user1/2949/archives/2007/35599.html一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:转载 2012-02-08 15:04:29 · 355 阅读 · 0 评论 -
TopCoder 练习1 加密转换
Problem Statement Let's say you have a binary string such as the following: 011100011 One way to encrypt this string is to add to each digit the sum of its adjacent digits. For exampl原创 2012-04-25 11:01:14 · 563 阅读 · 0 评论 -
TopCoder 2 Lottery
Problem Statement In most states, gamblers can choose from a wide variety of different lottery games. The rules of a lottery are defined by two integers (choices andblanks) and two bool原创 2012-04-29 01:43:25 · 834 阅读 · 0 评论 -
TopCoder 3 PenLift
Problem Statement NOTE: There are images in the examples section of this problem statement that help describe the problem. Please view the problem statement in the HTML window to view the原创 2012-04-29 11:59:10 · 795 阅读 · 0 评论 -
C++ AMP 实战:绘制曼德勃罗特集图像
转自:http://www.oschina.net/question/54100_37584之前我写了一篇用GPU绘制曼德勃罗特(Mandelbrot)集图像的文章,里面使用的技术是与DirectX 11继承在一起的DirectCompute。DirectCompute执行在GPU上的kernel代码,必须用一种特殊的HLSL语言来编写。虽然这种语言有些类似于C,但一些特殊的细转载 2012-06-04 22:45:51 · 4768 阅读 · 0 评论 -
国外程序员推荐:每个程序员都应读的书
转自:http://blog.jobbole.com/5886/编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在转载 2012-06-20 21:34:02 · 533 阅读 · 0 评论 -
mfc 窗口最前端显示 及 最大化 最小化
1. 使窗口在最前端显示: 在C*App 类的InitInstance函数中添加: m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); m_pMainWnd->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE);2. 最原创 2012-10-26 21:59:37 · 1957 阅读 · 0 评论 -
C++ explicit关键字(隐式转换)
转自:http://www.programlife.net/cpp-explicit-keyword.html第一次遇见explicit,那是在《The C++ Standard Library》里面,全然不明白什么意思。如今,这本书已经翻完了,看起了《Generic Programming And Standard Templete Library》,感觉看后台实现比前台应用好玩多了转载 2013-12-03 21:28:47 · 794 阅读 · 0 评论 -
VC回调函数定义和使用
转自:http://www.cnblogs.com/tianlangshu/archive/2011/03/20/1989439.html 最近经常使用回调函数,有时感觉有点混乱,对回调函数理解不透,昨天花点时间深深品味了一下回调函数,写下博客记录一下,言规正转,VC中的定时器是转载 2011-07-24 23:57:16 · 2550 阅读 · 1 评论 -
C Cpp IDE
<br />转自:http://wiki.ubuntu.org.cn/C_Cpp_IDE<br /> <br />C Cpp IDE出自Ubuntu中文目录[隐藏]1前言2anjuta3kdevelop4geany5codeblocks6eclipse7netbeans8其他IDE9相关链接10相关词条[编辑] 前言 <br />鉴于不断有网友将编译器 GCC 误认为 IDE(集成开发环境)期望脱离命令行期望能在菜单中发现其身影期望其能有一个集编辑编译链接调试运行于一体的界面<br />故本转载 2011-05-10 11:33:00 · 738 阅读 · 0 评论 -
结构体和类的区别
结构体(Struct) 和 类(Class) 对于结构和类,初看上去都一样。都可以有自己的字段,属性,方法,还能有构造函数。但是这两者其实有很大的不同,而且各自有各自的应用范围。下面还是谈谈两者的分别吧。1 结构的特点和性能优势结构是值类型,继承自System.ValueType。结构相对于类来说有两个性能上的优势,结构通常分配在栈(Stack)上面,类的实际内容通常分配在堆(Heap)上面,转载 2010-04-02 18:27:00 · 785 阅读 · 0 评论 -
堆(heap)和栈(stack)
1、内存分配方面: 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、申请方式方面: 堆:需要程序员自己申请,并指明转载 2010-04-04 15:09:00 · 456 阅读 · 0 评论 -
内存中堆和栈的区别
1、内存分配方面: 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、申请方式方面: 堆:需要程序员自己申请,并指明转载 2010-04-02 18:57:00 · 739 阅读 · 1 评论 -
理解虚基类、虚函数与纯虚函数的概念
转自:http://www.cnblogs.com/MS-Frank/archive/2008/01/16/1041310.html虚基类 在说明其作用前先看一段代码class A{public: int iValue;};class B:public A{public: void bPrintf(){cout转载 2011-03-10 14:22:00 · 398 阅读 · 0 评论 -
C++ 多态性(3) 运算符重载2
运算符重载的函数一般地采用如下两种形式:成员函数形式和友元函数形式。这两种形式都可访问类中的私有成员。1. 重载为类的成员函数 这里先举一个关于给复数运算重载复数的四则运算符的例子。复数由实部和虚部构造,可以定义一个复数类,然后再在类中重载复数四则运算的运算符。先看以下源代码:#include <iostream.h>class complex{public:complex() { real=imag=0; }complex(double r, double i){real =原创 2011-03-10 15:25:00 · 646 阅读 · 0 评论 -
友元类和友元函数(转)
<br />《windows环境多线程编程原理与应用》中解释: 如果将类的封装比喻成一堵墙的话,那么友元机制就像墙上了开了一个门,那些得 到允许的类或函数允许通过这个门访问一般的类或者函数无法访问的私有属性和方法。友元机制使类的封装性得到消弱,所以使用时一定要慎重。友元类的说明将外界的某个类在本类别的定义中说明为友元,那么外界的类就成为本类的“朋 友”,那个类就可以访问本类的私有数据了。<br /><br />class Merchant<br />{<br />private :<br /> int转载 2011-03-10 18:20:00 · 420 阅读 · 0 评论 -
const用法详解
<br />转自:http://www.yuanma.org/data/2007/0429/article_2549.htm<br /> <br /><br />面向对象是C++的重要特性.<br />但是c++在c的基础上新增加的几点优化也是很耀眼的<br />就const直接可以取代c中的#define<br />以下几点很重要,学不好后果也也很严重<br /> <br />const<br />1. 限定符声明变量只能被读<br /> const int i=5;<br /> int j=0;转载 2011-03-10 21:33:00 · 398 阅读 · 0 评论 -
C++ 多态性(1)
所谓多态性是指发出同样的消息被不同类型的对象接收时导致完全不同的行为。这里所说的消息主要是指对类的成员函数的调用,而不同的行为是指不同的实现。利用多态性,用户只需发送一般形式的消息,而将所有的实现留给接收消息的对象。对象根据所接收到的消息而做出相应的动作(即操作)。所谓函数重载简单地说就是赋给同一个函数名多个含义。具体地讲,C++中允许在相同的作用域内以相同的名字定义几个不同实现的函数,可以是成员函数,也可以是非成员函数。但是,定义这种重载函数时要求函数的参数或者至少有一个类型不同,或者个数不同。而对于返回原创 2011-03-10 15:07:00 · 531 阅读 · 0 评论 -
C++ 多态性(2) 运算符重载
1. 运算符重载的作用是什么?它允许你为类的用户提供一个直觉的接口。 运算符重载允许C/C++的运算符在用户定义类型(类)上拥有一个用户定义的意义。重载的运算符是函数调用的语法修饰:class Fred{public:// ...};#if 0// 没有算符重载:Fred add(Fred, Fred);Fred mul(Fred, Fred);Fred f(Fred a, Fred b, Fred c){return add(add(mul(a,b), mul原创 2011-03-10 15:14:00 · 561 阅读 · 0 评论 -
sizeof() 汇总
sizeof()功能:计算数据空间的字节数 1.与strlen()比较 strlen()计算字符数组的字符数,以"/0"为结束判断,不计算为'/0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。 2.指针与静态数组(代表数组的变量)的sizeof操作 指针均可看为变量类型的一种。所有指针变量的sizeof 操作结果均为4. 注意:int *p; sizeof(p)=4; 但sizeof(*p)相当于sizeof(i转载 2011-03-10 16:11:00 · 350 阅读 · 0 评论 -
C 位域
转自:http://blog.21ic.com/user1/6121/archives/2010/67210.html经过个人查阅相关的资料和理解,现对C语言的位域做一个总结,对于位域的定义我在这里没有多说,我这里主要是对位域有歧义的地方进行系统的总结.我个人觉得总结的比较完整,如有不够完整或有异义的地方大家可以留言指点.1.位域又叫位段(位字段),是一种特殊的结构成员或联合成员(即只能用在结构或联合中),用于指定该成员在内存存储时所占用的位数,从而可以在机内更紧凑地表示数据。2.位域的使用主要出现在如下两转载 2011-03-10 16:56:00 · 598 阅读 · 0 评论 -
Sample of STL(Vector):begin and rbegin
#include #include #include #include #include #include using namespace std;class ID{ friend bool operator转载 2011-04-25 09:50:00 · 1038 阅读 · 0 评论 -
STL中的7种容器
<br />转自:http://www.cppblog.com/kevinjee/archive/2008/12/01/68314.aspx<br /> <br />容器(Container)的概念的出现早于模板(template),它原本是一个计算机科学领域中的一个重要概念,但在这里,它的概念和STL混合在一起了。下面是在STL中出现的7种容器:<br /><br />vector(向量)——STL中标准而安全的数组。只能在vector 的“前面”增加数据。<br /><br />deque(双端转载 2011-04-23 15:44:00 · 564 阅读 · 0 评论 -
shared_ptr
转自: http://blog.youkuaiyun.com/sndaxdrs/article/details/6175701shared_ptr是一个最像指针的"智能指针",是boost.smart_ptr库中最有价值、最重要的组成部分,也是最有用的,Boost库的许多组件--甚至还包括其他一些领域的智能指针都使用了shared_ptr。抱歉,我实在想不出什么更恰当的词汇来形容它在软件开发中的重转载 2013-12-04 22:50:30 · 614 阅读 · 0 评论