<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title>C++</title>
<link>/html/edu/C1/index.html</link>
<description>编程开发 / C++</description>
<language>zh-cn</language>
<generator>&lt;a href='http://www.souzz.net' target='_blank'&gt;搜站长&lt;/a&gt;</generator>
<webmaster>lyjrich@sina.com</webmaster>
<item>
    <title>利用Visual C++实现系统托盘程序</title>
    <link>/html/edu/C1/13244.html</link>
    <description>自从微软公司推出Windows 95操作系统以来，系统托盘应用作为一种极具吸引力的用户界面设计深受广大用户的喜爱。使用系统托盘作为用户界面的Windows应用程序数不胜数，比如&quot;金山词霸&quot;、&quot;Winamp&quot;、&quot;RealPlayer&quot;等等。 这些程序运行时不显示运行窗口，只在任务栏上显示一</description>
    <pubDate>2006-07-05</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>CSDN</comments>
</item>
<item>
    <title>VC++中利用/GS开关防止缓冲区溢出</title>
    <link>/html/edu/C1/13243.html</link>
    <description>缓冲区溢出通常表现为一个最为常见的漏洞而存在于今天的各种软件之中，黑客可以用恶意的输入，从而更改程序的执行流程，由此入侵相应的进程、电脑、或整个域。如果进程运行于一个高度受信的账户之下，如管理员或本地系统账户，那么黑客带来的破坏将是极其严重，并有潜</description>
    <pubDate>2006-07-05</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>天极网</comments>
</item>
<item>
    <title>函数指针与软件设计</title>
    <link>/html/edu/C1/13242.html</link>
    <description>记得刚开始工作时，一位高手告诉我，说，longjmp和setjmp玩得不熟，就不要自称为C语言高手。当时我半信半疑，为了让自己向高手方向迈进，还是花了一点时间去学习longjmp和setjmp的用法。后来明白那不单是跳来跳去那样简单，而是一种高级的异常处理机制，在某些情况下确</description>
    <pubDate>2006-07-05</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>csdn</comments>
</item>
<item>
    <title>C++中要求（或禁止）对象产生于heap中</title>
    <link>/html/edu/C1/13241.html</link>
    <description>要求对象产生于Heap之中 考虑如下代码： classHeapClass { public: voidDestory() const {deletethis;} private: ~HeapClass(){} }; HeapClass* ptr = newHeapClass; ptr-Destory(); 这样的调用真是很厉害，想生成非Heap对象都不成了。 对于继承和组合的情况不想多说了</description>
    <pubDate>2006-07-05</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>学院摘选</comments>
</item>
<item>
    <title>在CPP中调用Jscript中的函数</title>
    <link>/html/edu/C1/13240.html</link>
    <description>在 CPP 中调用 Jscript 中的函数 在 C++ 中调用 Jscript 的函数非常简单， Windows 提供了一个 msscript.ocx 的控件，利用这个控件可以直接操作 Jscript: 执行一段 Jscript 脚本，或者调用指定的函数。我写了一个简单的例子： l 导入 msscript.ocx 。下面这条指令会在</description>
    <pubDate>2006-07-05</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>csdn</comments>
</item>
<item>
    <title>C/C++ 程序设计员应聘常见面试试题深入剖析</title>
    <link>/html/edu/C1/13239.html</link>
    <description>1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导，而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛，部分试题解答也参考了网友的意见。 许多面试题看似简单，却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函</description>
    <pubDate>2006-07-05</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>eNet硅谷动力</comments>
</item>
<item>
    <title>初学者必备:C++经典入门详细教程</title>
    <link>/html/edu/C1/12650.html</link>
    <description>下面的是学C++时要注意的。 1.把C++当成一门新的语言学习（和C没啥关系！真的。）； 2.看《Thinking In C++》，不要看《C++变成死相》； 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看； 4.不</description>
    <pubDate>2006-05-31</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>www.hackbase.com</comments>
</item>
<item>
    <title>用GDI+实现半透明渐变的特效窗口</title>
    <link>/html/edu/C1/12649.html</link>
    <description>偶然间甜石榴兄弟给我一个东东，是BlueCrab用VC写的利用GDI+技术实现半透明渐变窗口的特效，看起来很不错。在此对BlueCrab和甜石榴深表感谢。ccrun(老妖)花了点时间将其在BCB中实现，并实现了简单的动态换肤。效果图： 在C++Builder中使用GDI+的方法和代码网上遍地都是</description>
    <pubDate>2006-05-31</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>C++研究网</comments>
</item>
<item>
    <title>踏入C++中的雷区——C++内存管理详解</title>
    <link>/html/edu/C1/12654.html</link>
    <description>伟大的Bill Gates 曾经失言： 640K ought to be enough for everybody— Bill Gates 1981 程序员们经常编写内存管理程序，往往提心吊胆。如果不想触雷，唯一的解决办法就是发现所有潜伏的地雷并且排除它们，躲是躲不了的。本文的内容比一般教科书的要深入得多，读者需</description>
    <pubDate>2006-05-31</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>计算机教学网</comments>
</item>
<item>
    <title>C++对象的拷贝与赋值操作</title>
    <link>/html/edu/C1/12651.html</link>
    <description>我发现一些同事在编写一个类时，知道什么时候需要实现拷贝构造函数和赋值操作，但不知道什么时候拷贝构造函数被调用，什么时候赋值操作被调用，甚至把二者混为一谈。 要弄明白这个问题，最简单的做法莫过于写个测试程序试一下。不过那样做也未必是好办法，实验的结果往</description>
    <pubDate>2006-05-31</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>csdn</comments>
</item>
<item>
    <title>C++：最强大的.NET语言之对象构造</title>
    <link>/html/edu/C1/12652.html</link>
    <description>简介 Visual C++开发小组花了大量的时间用于听取用户的意见，在对 .NET和C++经过仔细考量之后，决定在Visual C++ 2005中重新设计对通用语言运行时库（CLR）的支持，此项重新的设计被称为&quot;C++/CLI&quot;，它将为使用及编写CLR类型提供更自然的语法。在本文中，主要探讨了新的</description>
    <pubDate>2006-05-31</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>CSDN</comments>
</item>
<item>
    <title>在c＋＋程序中重启自己的一种方法　</title>
    <link>/html/edu/C1/12653.html</link>
    <description>在工程.cpp文件(Project1.cpp)中加入： #include &quot;Unit1.h&quot; WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { Application-Initialize(); Application-CreateForm(__classid(TfrmMain), frmMain); Application-Run(); } catch (Exception exception) { Applic</description>
    <pubDate>2006-05-31</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>C++研究网</comments>
</item>
<item>
    <title>C++的救赎 C++开源程序库评话</title>
    <link>/html/edu/C1/12648.html</link>
    <description>C语言天生就与开放结缘。C最初是作为UNIX的系统编程语言而流行起来的，而UNIX可以被认为是第一个产生重大影响的“开源”软件。随着UNIX的流行，C语言逐渐被人们认识和喜爱。很快的，在各个平台上C语言都成为了流行的甚至是统治性的程序设计语言。 大约到1980年代中期，</description>
    <pubDate>2006-05-31</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>网易学院(广州)</comments>
</item>
<item>
    <title>C++程序员必需的修养</title>
    <link>/html/edu/C1/12008.html</link>
    <description>我总结了在用C/C++语言（主要是C语言）进行程序写作上的三十二个“修养”，通过这些，你可以写出质量高的程序，同时也会让看你程序的人渍渍称道，那些看过你程序的人一定会说：“这个人的编程修养不错”。 01、版权和版本 02、缩进、空格、换行、空行、对齐 03、程序注</description>
    <pubDate>2006-04-18</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>csdn</comments>
</item>
<item>
    <title>如何编写异常安全的C++代码</title>
    <link>/html/edu/C1/12009.html</link>
    <description>我承认，这样的代码不如前面的简洁和容易理解，但是它更灵活,无论函数名称是什么，都可以拿来结对。我们可以加强对bind的运用，结合占位符和reference_wrapper,就可以处理函数参数、动态绑定变量。所有我们在catch内外的相同工作，交给pair_guard去完成即可。 考察前面</description>
    <pubDate>2006-04-18</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>网易学院</comments>
</item>
<item>
    <title>设计OutLook风格的工具栏</title>
    <link>/html/edu/C1/11720.html</link>
    <description>m_ImageList.Create(32, 32, ILC_COLOR16ILC_MASK,1, 4); HICON hIcon = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_LOG)); m_ImageList.Add(hIcon); hIcon = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ONLINE_USERS)); m_ImageList.Ad</description>
    <pubDate>2006-03-30</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>csdn</comments>
</item>
<item>
    <title>C++程序员必需的修养</title>
    <link>/html/edu/C1/11719.html</link>
    <description>我总结了在用C/C++语言（主要是C语言）进行程序写作上的三十二个“修养”，通过这些，你可以写出质量高的程序，同时也会让看你程序的人渍渍称道，那些看过你程序的人一定会说：“这个人的编程修养不错”。 01、版权和版本 02、缩进、空格、换行、空行、对齐 03、程序注</description>
    <pubDate>2006-03-30</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>csdn(北京)</comments>
</item>
<item>
    <title>C++资源之不完全导引 (上)</title>
    <link>/html/edu/C1/11712.html</link>
    <description>撰文 / 曾毅 陶文 最后更新： 2004 年 6 月 11 日 声明： . 本文 2004 年 5 月首发于《 CSDN 开发高手》，版权归该杂志与《程序员》杂志社所有。杂志限于篇幅部分内容有所删节，此处版本为相对完整版本。 . 本文为介绍性文章，会随笔者学习 C++ 语言不断更新。 前言 无</description>
    <pubDate>2006-03-29</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>CSDN</comments>
</item>
<item>
    <title>C++资源之不完全导引 [下]</title>
    <link>/html/edu/C1/11713.html</link>
    <description>撰文 / 曾毅 陶文 最后更新： 2004 年 6 月 12 日 声明： . 本文 2004 年 5 月首发于《 CSDN 开发高手》，版权归该杂志与《程序员》杂志社所有。杂志限于篇幅部分内容有所删节，此处版本为相对完整版本。 . 本文为介绍性文章，会随笔者学习 C++ 语言不断更新。 库 在 C</description>
    <pubDate>2006-03-29</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>搜站长</comments>
</item>
<item>
    <title>VC++动态链接库编程之基础慨念</title>
    <link>/html/edu/C1/11026.html</link>
    <description>1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念，你可以简单的把DLL看成一种仓库，它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库－静态链接库－动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式，如果采用静态</description>
    <pubDate>2006-03-15</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>天极网</comments>
</item>
<item>
    <title>C++箴言：必须返回对象时别返回引用</title>
    <link>/html/edu/C1/10788.html</link>
    <description>一旦程序员抓住对象传值的效率隐忧，很多人就会成为狂热的圣战分子，誓要根除传值的罪恶，无论它隐藏多深。他们不屈不挠地追求传引用的纯度，但他们全都犯了一个致命的错误：他们开始传递并不存在的对象的引用。这可不是什么好事。 考虑一个代表有理数的类，包含一个将</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>csdn blog</comments>
</item>
<item>
    <title>C++箴言：通过composition模拟“has-a”</title>
    <link>/html/edu/C1/10789.html</link>
    <description>composition（复合）是在 objects of one type（一个类型的对象）包含 objects of another type（另一个类型的对象）时，types（类型）之间的关系。例如： class Address { ... }; // where someone lives class PhoneNumber { ... }; class Person { public: ... priva</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>BLOG</comments>
</item>
<item>
    <title>C++箴言：最小化文件之间的编译依赖</title>
    <link>/html/edu/C1/10787.html</link>
    <description>你进入到你的程序中，并对一个类的实现进行了细微的改变。提醒你一下，不是类的接口，只是实现，仅仅是 private 的东西。然后你重建（rebuild）这个程序，预计这个任务应该只花费几秒钟。毕竟只有一个类被改变。你在 Build 上点击或者键入 make（或者其它等价行为），</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>BLOG CSDN</comments>
</item>
<item>
    <title>C++箴言：争取异常安全的代码</title>
    <link>/html/edu/C1/10786.html</link>
    <description>异常安全（Exception safety）有点像怀孕（pregnancy）……但是，请把这个想法先控制一会儿。我们还不能真正地议论生育（reproduction），直到我们排除万难渡过求爱时期（courtship）。（此段作者使用的 3 个词均有双关含义，pregnancy 也可理解为富有意义，reproductio</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>天极网</comments>
</item>
<item>
    <title>C++箴言：使用对象管理资源</title>
    <link>/html/edu/C1/10785.html</link>
    <description>假设我们和一个投资（例如，股票，债券等）模型库一起工作，各种各样的投资形式从一个根类 Investment 派生出来： class Investment { ... }; // root class of hierarchy of // investment types 进一步假设这个库使用了通过一个 factory 函数为我们提供特定 Investmen</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>CSDN BLOG</comments>
</item>
<item>
    <title>C++箴言：谨慎考虑资源管理类的拷贝行为</title>
    <link>/html/edu/C1/10784.html</link>
    <description>在上一篇文章中介绍了作为资源管理类支柱的 Resource Acquisition Is Initialization (RAII) 原则，并描述了 auto_ptr 和 tr1::shared_ptr 在基于堆的资源上运用这一原则的表现。并非所有的资源都是基于堆的，然而，对于这样的资源，像 auto_ptr 和 tr1::shared_ptr 这</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>CSDN BLOG</comments>
</item>
<item>
    <title>C++箴言：谨慎使用多继承</title>
    <link>/html/edu/C1/10783.html</link>
    <description>触及 multiple inheritance (MI)（多继承）的时候，C++ 社区就会鲜明地分裂为两个基本的阵营。一个阵营认为如果 single inheritance (SI)（单继承）是有好处的，multiple inheritance（多继承）一定更有好处。另一个阵营认为 single inheritance（单继承）有好处，但是</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>BLOG</comments>
</item>
<item>
    <title>C++箴言：理解 new-handler的行为</title>
    <link>/html/edu/C1/10782.html</link>
    <description>当 operator new 不能满足一个内存分配请求时，它抛出一个 exception（异常）。很久以前，他返回一个 null pointer（空指针），而一些比较老的编译器还在这样做。你依然能达到以前的目的（在一定程度上），但是我要到本文的最后再讨论它。 在 operator new 因回应一个无</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>blog</comments>
</item>
<item>
    <title>C++初学者必看的50个建议！</title>
    <link>/html/edu/C1/10781.html</link>
    <description>1.把C++当成一门新的语言学习（和C没啥关系！真的。）； 2.看《Thinking In C++》，不要看《C++变成死相》； 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看； 4.不要被VC、BCB、BC、MC、TC等</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>网易学院论坛</comments>
</item>
<item>
    <title>创建可移植的64位应用程序代码</title>
    <link>/html/edu/C1/10780.html</link>
    <description>灵活地使用编译器开关选项可生成具移植性且高度优化的代码，你用了吗？ 充分利用AMD 64位技术需要以下三个条件：必要的AMD64硬件平台，一个可支持AMD64的操作系统，和一个支持AMD64 的64位编译器。AMD公司提供了第一个条件，Window和Linux提供了第二个条件，而一些开发</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>秩名</author>
    <comments>天极网</comments>
</item>
<item>
    <title>C++箴言：绝不重定义继承的非虚拟函数</title>
    <link>/html/edu/C1/10791.html</link>
    <description>假设我告诉你 class（类）D 从 class（类）B publicly derived（公有继承），而且在 class（类）B 中定义了一个 public member function（公有成员函数）mf。mf 的参数和返回值类型是无关紧要的，所以我们就假设它们都是 void。换句话说，我的意思是： class B { publi</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>BLOG</comments>
</item>
<item>
    <title>C++箴言：使接口易于正确使用难错误使用</title>
    <link>/html/edu/C1/10792.html</link>
    <description>C++ 被淹没于接口中。函数接口、类接口、模板接口。每一个接口都意味着客户的代码和你的代码互相影响。假设你在和通情达理的人打交道，那些客户也想做好工作。他们想要正确使用你的接口。在这种情况下，如果他们犯了一个错误，就说明你的接口至少有部分是不完善的。在理</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>CSDN BLOG</comments>
</item>
<item>
    <title>C++箴言：谨慎使用私有继承</title>
    <link>/html/edu/C1/10790.html</link>
    <description>在《 C ++箴言：确保公开继承模拟“is-a” 》一文中论述了 C++ 将 public inheritance（公有继承）视为一个 is-a 关系。当给定一个 hierarchy（继承体系），其中有一个 class Student 从一个 class Person 公有继承，当为一个函数调用的成功而有必要时，需要将 Students</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>BLOG</comments>
</item>
<item>
    <title>C++箴言：声明为非成员函数的时机</title>
    <link>/html/edu/C1/10801.html</link>
    <description>我谈到让一个类支持隐式类型转换通常是一个不好的主意。当然，这条规则有一些例外，最普通的一种就是在创建数值类型时。例如，如果你设计一个用来表现有理数的类，允许从整数到有理数的隐式转换看上去并非不合理。这的确不比 C++ 的内建类型从 int 到 double 的转换更</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>csdn blog</comments>
</item>
<item>
    <title>C++箴言：类型转换时定义非成员函数</title>
    <link>/html/edu/C1/10800.html</link>
    <description>《C++箴言：声明为非成员函数的时机》阐述了为什么只有 non-member functions（非成员函数）适合于应用到所有 arguments（实参）的 implicit type conversions（隐式类型转换），而且它还作为一个示例使用了一个 Rational class 的 operator* function。我建议你在阅读</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>BLOG</comments>
</item>
<item>
    <title>C宏——智者的利刃，愚者的恶梦!</title>
    <link>/html/edu/C1/10799.html</link>
    <description>水平不高不低的C++程序员最喜欢挂在嘴上的一句话就是：C宏，万恶之首，错误的开端，应该被废弃。 请注意，我用了一句不敬的修饰语“水平不高不低的”。为什么这么说？因为水平低都插不上话，都在在静静地听老前辈布道呢。水平高的，比如Bane Stroustrup老人家，也只是</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>乾坤一笑</author>
    <comments>vckbase</comments>
</item>
<item>
    <title>C++箴言:了解C++偷偷加上和调用了什么</title>
    <link>/html/edu/C1/10798.html</link>
    <description>几乎每一个你自己写的类都会有一个或多个构造函数，一个析构函数和一个拷贝赋值运算符。不要惊奇，那是些就像你的面包黄油一样的函数，他们控制着基本的操作，如创建一个新的对象并确保已被初始化，消除一个函数并确保它被完全清除，以及为对象赋予一个新值。这些函数</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>BLOGCSDN</comments>
</item>
<item>
    <title>C++箴言：多态基类中将析构函数声明为虚拟</title>
    <link>/html/edu/C1/10797.html</link>
    <description>有很多方法可以跟踪时间的轨迹，所以有必要建立一个 TimeKeeper 基类，并为不同的计时方法建立派生类： class TimeKeeper { public: TimeKeeper(); ~TimeKeeper(); ... }; class AtomicClock: public TimeKeeper { ... }; class WaterClock: public TimeKeeper { ... }</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>CSDN BLOG</comments>
</item>
<item>
    <title>C++箴言：考虑可选的虚拟函数的替代方法</title>
    <link>/html/edu/C1/10796.html</link>
    <description>现在你工作在一个视频游戏上，你在游戏中为角色设计了一个 hierarchy（继承体系）。你的游戏中有着变化多端的恶劣环境，角色被伤害或者其它的健康状态降低的情况并不罕见。因此你决定提供一个 member function（成员函数）healthValue，它返回一个象征角色健康状况如何</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>BLOG</comments>
</item>
<item>
    <title>C++箴言：使接口易于正确使用难错误使用</title>
    <link>/html/edu/C1/10795.html</link>
    <description>C++ 被淹没于接口中。函数接口、类接口、模板接口。每一个接口都意味着客户的代码和你的代码互相影响。假设你在和通情达理的人打交道，那些客户也想做好工作。他们想要正确使用你的接口。在这种情况下，如果他们犯了一个错误，就说明你的接口至少有部分是不完善的。在</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>CSDN BLOG</comments>
</item>
<item>
    <title>C++箴言：确保公开继承模拟“is-a”</title>
    <link>/html/edu/C1/10794.html</link>
    <description>在 Some Must Watch While Some Must Sleep (W. H. Freeman and Company, 1974) 这本书中，William Dement 讲述了一个他试图让他的学生的记住他的课程中最重要的东西的故事。书中声称，他告诉他的班级，一般的英国中小学生对于 1066 年发生的 Hastings 战争的历史并没有</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>BLOG</comments>
</item>
<item>
    <title>C++箴言：理解inline化的介入和排除</title>
    <link>/html/edu/C1/10793.html</link>
    <description>inline 函数——多么棒的主意啊！它们看起来像函数，它们产生的效果也像函数，它们在各方面都比宏好得太多太多，而你却可以在调用它们时不招致函数调用的成本。你还有什么更多的要求呢？ 实际上你得到的可能比你想的更多，因为避免函数调用的成本只是故事的一部分。在</description>
    <pubDate>2006-03-07</pubDate>
    <category>C++</category>
    <author>fatalerror99</author>
    <comments>blog</comments>
</item>
<item>
    <title>C++编程语言中的四个调试技巧</title>
    <link>/html/edu/C1/10739.html</link>
    <description>1、调试标记 适用预处理#define定义一个或多个调试标记，在代码中把调试部分使用#ifdef和#endif进行管理。当程序最终调试完成后，只需要使用#undef标记，调试代码就会消失。常用的调试标记为DEBUG, 语句序列： #define DEBUG#ifdef DEBUG调试代码#endif 2、运行期间调</description>
    <pubDate>2006-03-04</pubDate>
    <category>C++</category>
    <author>ling</author>
    <comments>赛迪论坛</comments>
</item>
<item>
    <title>在VC++应用程序中实现颜色选择组合框</title>
    <link>/html/edu/C1/10678.html</link>
    <description>相信读者朋友们对OFFICE2000一定非常熟悉吧，它里面的东东可真不少，不管是活泼可爱的&quot;大眼夹&quot;，还是各种平面造型的Windows控件都很受广大用户喜欢。那么这次就让我们来模仿它做个十分常用的控件：&quot;颜色组合框&quot;。如果你现在正在做关于字处理类的软件时这个&quot;东东&quot;一定对</description>
    <pubDate>2006-02-13</pubDate>
    <category>C++</category>
    <author>未知</author>
    <comments>天极网</comments>
</item>
<item>
    <title>探索C++的秘密之详解extern &quot;C&quot;</title>
    <link>/html/edu/C1/10679.html</link>
    <description>时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern &quot;C&quot; { #endif //一段代码 #ifdef __cplusplus } #endif 这样的代码到底是什么意思呢？首先，__cplusplus是cpp中的自定义宏，那么定义了这个宏的话表示这是一段cpp的代码，也就是说，上面的代码的含义是:</description>
    <pubDate>2006-02-13</pubDate>
    <category>C++</category>
    <author>未知</author>
    <comments>博客园</comments>
</item>
<item>
    <title>VC++实现Windows回收站的文件存取</title>
    <link>/html/edu/C1/10680.html</link>
    <description>在进行文件操作时，可以使用CFile类中的Remove（）函数来删除一个文件，但是这样的操作将永久性的删除该文件，不能在必要的时候再恢复该文件，解决这个问题的唯一方法就是把文件送到Windows系统中的回收站（Recycle Bin）里面，而不是简单的永久性删除它，这样用户就可</description>
    <pubDate>2006-02-13</pubDate>
    <category>C++</category>
    <author>未知</author>
    <comments>天极网</comments>
</item>
<item>
    <title>Winsock开发网络通信程序的经典入门</title>
    <link>/html/edu/C1/10681.html</link>
    <description>对于许多初学者来说，网络通信程序的开发，普遍的一个现象就是觉得难以入手。许多概念，诸如：同步(Sync)/异步(Async)，阻塞(Block)/非阻塞(Unblock)等，初学者往往迷惑不清，只知其所以而不知起所以然。 同步方式指的是发送方不等接收方响应，便接着发下个数据包的通</description>
    <pubDate>2006-02-13</pubDate>
    <category>C++</category>
    <author>未知</author>
    <comments>搜站长搜集</comments>
</item>
<item>
    <title>C++箴言：为类型信息使用特征类</title>
    <link>/html/edu/C1/10682.html</link>
    <description>STL 主要是由 containers（容器），iterators（迭代器）和 algorithms（算法）的 templates（模板）构成的，但是也有几个 utility templates（实用模板）。其中一个被称为 advance。advance 将一个指定的 iterator（迭代器）移动一个指定的距离： template // move ite</description>
    <pubDate>2006-02-13</pubDate>
    <category>C++</category>
    <author>未知</author>
    <comments>blog</comments>
</item>
<item>
    <title>C++/CLI中实现singleton模式</title>
    <link>/html/edu/C1/10630.html</link>
    <description>双重检测锁（Double-Checked Locking）实现的Singleton模式在多线程应用中有相当的价值。在ACE的实现中就大量使用ACE_Singleton模板类将普通类转换成具有Singleton行为的类。这种方式很好地消除了一些重复代码臭味，而且，优化后的性能较标准互斥版本提高15倍。最近在用</description>
    <pubDate>2006-02-12</pubDate>
    <category>C++</category>
    <author>吴尔平</author>
    <comments>博客园</comments>
</item>
<item>
    <title>C++/CLI singleton模式 （双重检测锁实现）</title>
    <link>/html/edu/C1/10605.html</link>
    <description>双重检测锁（Double-Checked Locking）实现的Singleton模式在多线程应用中有相当的价值。在ACE的实现中就大量使用ACE_Singleton模板类将普通类转换成具有Singleton行为的类。这种方式很好地消除了一些重复代码臭味，而且，优化后的性能较标准互斥版本提高15倍 [1] 。最</description>
    <pubDate>2006-02-09</pubDate>
    <category>C++</category>
    <author>未知</author>
    <comments>cnblogs</comments>
</item>

</channel>
</rss>
