收藏本版 |订阅

编程语言 今日: 0|主题: 642|排名: 14 

  • C/C++的常见误区
    1. C++虽然主要是以C的基础发展起来的一门新语言,但她不是C的替代品,不是C的升级 ,C++和C是兄弟关系。没有谁比谁先进的说法,更重要 的一点是C和C++各自的标准委员会是 独立的,最新的C++标准是C++98,最新的C标准是C99.因此也没有先学C再说C++的说法,也不 再(注意这 个"不再")有C++语法是C语法的超集的说法。 2. C++ ...
    3123 [db:作者] 发表于 2016-10-17 编程语言
  • POJ 1961 C++ (KMP)
    #include using namespace std; int n,next[1000008]; char s[1000008]; void Get_next() {int j,k; j=1; k=0; next[1]=0; while(j 该题的题意是这样的,给若干个字符串,判断该字符串的前n位最多重复了几次,比如, 给ababab,结果是前4位重复了2次,前6位重复了3次,忽略重复一次的情况.现在我们将注意 力放在一个给定的 ...
    3118 [db:作者] 发表于 2016-10-17 编程语言
  • Vczh Serialization Demo :在网络上传递复杂对象
    今天将Serialization进行了重构,让其支持容器。于是使用以前的基础设施就能完成这 个Demo了。 为什么要做成这个样子呢?因为模板没有运行时匹配功能。虽然仍然大量 使用模板,但是接口上就没有了。模板被用来处理其他的事情。 这个程序分为服务器 端和客户端两个部分,使用Socket连接。服务器端监听到一个客户端之后将一棵 ...
    3270 [db:作者] 发表于 2016-10-17 编程语言
  • C++的虚函数与抽象类
    1.虚函数 1.1虚函数的作用 虚函数的作用是允许在派生类中重新定义与基 类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。 class Time{  public:   Time(int=0,int=0,int=0);    void show();  protected:   int hour;   int min;    int sec; }; class LocalTime:public Time{  publ ...
    393 [db:作者] 发表于 2016-10-17 编程语言
  • 窗口刷新问题(WM_PAINT、BeginPaint、EndPaint的说明)
    在Windows API编程中,WM_PAINT是Windows窗口的一个重要消息,应用程序就是通过响应 这个消息来完成窗口的绘制。 The WM_PAINT message is generated by the system and should not be sent by an application.The system sends this message when there are no other messages in the application's message queue 注意:W ...
    3135 [db:作者] 发表于 2016-10-17 编程语言
  • C/C++中 malloc和new区别
    1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之 ...
    3100 [db:作者] 发表于 2016-10-17 编程语言
  • C++/CLI的用途
    作为一个有着正常审美观的人,我简直无法忍受C++/CLI(以及managed c++)的丑陋。不 过,近来发现,这个丑东西也还有点用,在把原生开发接口包装成托管开发接口时,比C#的 互操作容易的多(互操作看了看,头大呀)。磕磕绊绊几天,终于把一个SDK开发包转换完成 了。总结经验如下: 1. 对于clr中的引用类型,定义变量时要用 ...
    3117 [db:作者] 发表于 2016-10-17 编程语言
  • C/C++中一个简单的enum手法(idiom)
    今天写程序的时候,又用到这个idiom了,于是顺便贴出来。这个idiom蛮简单的,估计很 多人都用过。今天主要是贴出来给新手参考(老手们就甭费时看此帖了)。 为了说明这个手法具体该咋用,咱举一个简单的例子来说事儿。比方说要开发一个网络程 序,其中需要统计各种网络协议的数据包数量。 ★版本1 假设一开始只需要处理HTTP ...
    3143 [db:作者] 发表于 2016-10-17 编程语言
  • WINX窗口类对象的内存管理
    为了引入WINX窗口类对象的内存管理(生命周期模型),我绕了一大圈子。实在是,内存 管理太重要了,花多少口舌介绍它都不过分。我曾经见到这样一句话:"C++程序员觉得 内存管理太重要了,所以一定要自己进行管理;Java/C#程序员觉得内存管理太重要了,所以 一定不能自己去管理"。从某种意义上说,两者都是对的。 那么WINX的 ...
    3139 [db:作者] 发表于 2016-10-17 编程语言
  • C++必知必会(三) 设计模式
    对于任何还不熟悉设计模式的人来说,在对这个领域进行简短的纵览之后,可能会留下这样的印象:设计模式是一个市场营销大骗局,它不过是一些简单的编程技术,或者不过是计算机科学家的玩物。尽管这些印象都有那么一点道理,然而设计模式的确是职业C++程序员工具箱中不可或缺的组件。 设计模式是一个被反复谈论的架构主题。它 ...
    3273 [db:作者] 发表于 2016-10-17 编程语言
  • WINX的STD_NEW与MFC共存问题
    事由 WINX的 AutoFreeAlloc 受到了广泛的关注,很多读者反应这对他们很受启发。 昨天有读者反馈了 STD_NEW 与 MFC 不能共存的问题,我在这里想谈一下这个问题。 原因 MFC 在源代码文件中生成了如下调试代码: #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif 这里定义了 ...
    3114 [db:作者] 发表于 2016-10-17 编程语言
  • Shader学习心得(2):FX的功能之Insert Snippets,以及贴图的shader实现
    2.1 为我们的shader增加贴图 Step 1:  在我们的Empty Effect中: float4x4 WorldViewProj : WorldViewProjection; 下面一行按右键,选择”Insert Snippets” 在右边的框中选择”Texture and Sampler” 在打了一个框的Name上面双击,修改为diffuse,这样所有的”Name”就自动变 为了”diffuse”了 Step 2: 添加程序段,使得代码 ...
    3209 [db:作者] 发表于 2016-10-17 编程语言
  • 加载COM的方式
    通常我们都是使用CoCreateInstance或CoGetClassObject获得接口,再通过接口访问他的成员方法。在C++支持下,从来不会有任何问题。但是如果使用Win32模式,纯粹C风格编程,就会出现问题了。 通过研究我发现其实上述访问方式本身就存在问题。标准的访问方式,如D3D一样,接口的初始化必须在Com提供的API基础上完成。COM设计者 ...
    3122 [db:作者] 发表于 2016-10-17 编程语言
  • C++:我对return 语句的理解
    如果返回的是一个struct对象,return 语句会如何做呢?下面是测试代码 #include using namespace std; struct Big { char buf[100]; int i; long d;   }B,B2;   Big bigfun(Big b) { b.i=100; return b; } int main() { B2=bigfun(B);   return 0;   } 在main开头和结尾设断点   8: int main() 19: { 004012A0 p ...
    3123 [db:作者] 发表于 2016-10-17 编程语言
  • 红黑树的实现源码
    最近因为要给ccache加入红黑树的支持, 找出来曾经实现的代码作为参考, 这才发现原来 的实现都是有问题的,也怪我的测试用例写的不好, 仅仅对插入操作进行了测试, 我向所有因 为阅读了这份代码而造成困惑的朋友表示道歉. 这次重新实现, 所有的代码推倒重新编写, 参考了linux内核中红黑树的实现算法, 并且 对测试用例进行了加 ...
    3115 [db:作者] 发表于 2016-10-17 编程语言
  • 类的构造函数
    构造函数 a.构造函数名必须与类名相同,不得声明返回类型; b.可以用行参形式为成员赋初值,可以重载; c.返回一个不能传递的指向其定义对象首地址的指针; d.不带任何参数的称为缺省构造函数; e.有个特殊的初始化方式叫“初始化表达式表”(简称初始化表)。初始化表位于函数参数表之后、函数体{}之前,规则: ①若有 ...
    3274 [db:作者] 发表于 2016-10-17 编程语言
  • C++必知必会(五) 引用是别名而非指针
    引用(reference)是一个现有对象的别名。用对象来初始化引用之后,那么对象的名字或引用的名字都可以用于指向(refer to)该对象: int a = 12; int &ra = a; --ra; // a == 11; a = 10; // ra = 10; int *ip = &ra; 人们常常会将引用和指针相混淆,原因大概在于C++编译器通常采用指针的方式实现引用,但引用其实不是指针,其 ...
    3273 [db:作者] 发表于 2016-10-17 编程语言
  • C++必知必会(六)数组形参
    笔记: c++根本不存在所谓的“数组形参”,数组在传入时,实质上只传入指向其首元素的指针 。 void average( int array[12] ); // 形参是一个int * void average( int array[] ); // 形参仍然是一个int * void average( int (&array)[12] ); // 现在函数只能接受大小为12的整型数组 // 注意:不可以使用int *初始化 int(&)[ ...
    3270 [db:作者] 发表于 2016-10-17 编程语言
  • Linux下 C++程序的异常处理技巧
    处理 C++ 中的异常会在语言级别上遇到少许隐含限制,但在某些情况下,您可以绕过它们。学习各种利用异常的方法,您就可以生产更可靠的应用程序。 保留异常来源信息 在 C++中,无论何时在处理程序内捕获一个异常,关于该异常来源的信息都是不为人知的。异常的具体来源可以提供许多更好地处理该异常的重要信息,或者提供一些 ...
    3217 [db:作者] 发表于 2016-10-17 编程语言
  • C/C++变量在内存中的存储
    在C++语言中,有如下代码: char a; int b; int c; a='1'; b=1; printf("a = %x \r\n",a); printf("b = %x\r\n",b); c=a; printf("c = %x\r\n",c); 输出的结果是 a = 31 b = 1 c = 31 请按任意键继续. . . 这里 int型是4Byte char型是1Byet。 a=‘1’ 这条语句执行后,会在内存中分配1个字节大小的内存空间,在这个 空间里 ...
    3211 [db:作者] 发表于 2016-10-17 编程语言
  • 下一页 »

    快速发帖

    还可输入 80 个字符
    您需要登录后才可以发帖 登录 | 立即注册

    本版积分规则

    关注公众号

    相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

    Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

    在本版发帖
    关注公众号
    QQ客服返回顶部