内容列表
- 侯老师--STL源码剖析--书中的疑问二
-
侯老师--STL源码剖析--书中的错误二
前言
我在看侯捷的STL源码剖析一书中”第二章设计一个阳春的空间配置器JJ::allocator(第45页)看到了如下的伪代码,我认为是有错误的,代码如下:
命名空间JJ中代码
……
template<class T1,class T2>
inline void _construct(T1* p, const T2&
- 分类:编程语言 查阅全文
- 用C++Builder建立多线程COM服务器
-
用C++Builder建立多线程COM服务器
Sunspot Lee
一、线程、Apartment和进程
说道COM的线程模型,大家就会想到各种Apartment模型。但Apartment究竟是什么?如何建立一个Apartment呢?
Apartment就是线程的容器,线程中有关COM的操作必须在Apartment中进行。Apartment分为STA和MTA两种,S
- 分类:编程语言 查阅全文
- 善事利器----面向对象的工具之牛刀小试
- 善事利器
----面向对象的工具之牛刀小试
作者:HolyFire
首先先要介绍的是
UML----统一建模语言,它
- 分类:编程语言 查阅全文
- 正确的重载operator+
-
正确的重载operator+
(Overloading Operator + the Right Way)
By Danny Kalev, C++ Pro 翻译:周尚延beejoy
为了得到一串链表或者完成两个对象的累加或合并,经常要重载诸如string,date,complex或file等user-define类型的Operator+。
- 分类:编程语言 查阅全文
- A Brief Look at C++ 中文版
-
A Brief Look at C++中文版
Bjarne Stroustrup
AT&T Bell Laboratories
Murray Hill, New Jersey 07974
[原作者]:Bjarne Stroustrup (C++的设计者)
[翻译者]:Kingofark
[Kingofark的话]:这篇文章诚然已经不新了。但我想,
- 分类:编程语言 查阅全文
- 令人困惑的return by value
-
问题从这里开始。class X;const X operator+( const X& x1, const X& x2 );X foo(){return X(a+b);}和X foo(){X xx(a+b);return xx;}这两个函数,有什么区别?这个问题牵涉到C++的内部处理,下面是其更通用的模式。X foo(){X xx;// process...retu
- 分类:编程语言 查阅全文
- 关于捕获VCL没有处理的Windows消息
-
对于C++ Builder的程序员来说,VCL以其灵活、高效的特点令人喜爱。因为VCL是在Windows API的基础上进行了封装,同时舍弃了一些不常用的功能,所以,VCL在功能上是Windows API 的子集。VCL提供了对大多数Windows消息的处理机制,但是对于没有处理的Windows消息呢,在需要是如何捕获呢
- 分类:编程语言 查阅全文
- Guru of the Week 条款16:具有最大可复用性的通用Containers
- GotW #16 Maximally Reusable Generic Containers
著者:Herb Sutter
翻译:kingofark
[声明]:本文内容取自www.gotw.ca网站上的Guru of the Week栏目,其著作权归原著者本人所有。译者kingofark在未经原著者本人同意的情况下翻译本文。本翻译内容仅供自学
- 分类:编程语言 查阅全文
- Generic Programming: Mappings between Types and Values
-
Generic<Programming>: Mappings between Types and Values
Andrei Alexandrescu
Note: This article updated September 21, 2000
The term "conversion" in C++ describes the process o
- 分类:编程语言 查阅全文
- 侯老师--STL源码剖析--书中的疑问三
-
侯老师--STL源码剖析--书中的疑问三
前言
我在看侯捷的STL源码剖析一书中”第二章2.2具备次配置力(sub-allocation)的SGI空间配置器(第47页)看到了如下的代码,我认为是有错误的。
SGI空间配置器原文
……
SGI的空间配置器与众不同,也和标准规格不同,其名称为alloc而
- 分类:编程语言 查阅全文
- Borland C++Builder .RES 中文化
-
◇ Borland C++Builder .RES 中文化
发信人: [email protected] (葛瑞菲), 信区: programming
标 题: Borland C++Builder .RES 中文化
发信站: 交大资工凤凰城资讯站 (Sun Mar 23 15:41:28 1997)
转信站: cis_nctu!news.ci
- 分类:编程语言 查阅全文
- More Effective C++ 条款27(下)
- 条款27:要求或禁止在堆中产生对象(下)
到目前为止,这种逻辑很正确,但是不够深入。最根本的问题是对象可以被分配在三个地方,而不是两个。是的,栈和堆能够容纳对象,但是我们忘了静态对象。静态对象是那些在程序运行时仅能初始化一次的对象。静态对象不仅仅包括显示地声明为static的对象,也包括在全局和命名空间里的对象(参见条款47)。这些对象肯定位于某些地方,而这些地方既不是栈也不是堆。
它们的位置
- 分类:编程语言 查阅全文
- 利用OnHelp( )在BCB中实现上下文敏感的html help
- 关于Html Help,在CSDN上推荐得最多的是如何利用ShellExecute( )或HtmlHelp( )来打开相应的帮助文件和帮助主题。本人在查找了一些资料后试验成功一种在BCB中简单易行的显示上下文敏感的Html Help的方法,其效果和旧式的上下文敏感的WinHelp( )完全相同。这种方法的代码量小,而且可扩展性好,当你以后在帮助文件中增加主题时根本不需要再改动你的代码,只需要修改c
- 分类:编程语言 查阅全文
- C++中union的应用剖析
- C++中union的应用剖析
作者:袁小凯
华南理工大学计算机研究所北区研发二部
Email – [email protected]
前言
熟悉C的程序员都知道union(联合体)的用法,利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。当访问其内成员时可用”.”和”->”来直接
- 分类:编程语言 查阅全文
- 一个dos下tc编的俄罗斯方块源程序(附注释)
- 使用环形链表构造方块,编译前将turboc目录下的egavga.bgi考到源程序所在目录下。
/*************************<Russia Diamonds Ver 1.0>Copyright by [email protected]*********************
- 分类:编程语言 查阅全文
- C++模板的定制五:对定制成员函数的补充
- C++模板的定制五:对定制成员函数的补充
作者:袁小凯
华南理工大学计算机研究所北区研发二部
Email – [email protected]
前言
在” C++模板的定制四:定制成员函数和缺省类参 “一文中我简单介绍了模板类中成员函数的定制(全特化),但是有一细节还是说清楚的好,以免大家误解。在C++中不能局部定制模板类中的成员函数。再说一下模板类中的模
- 分类:编程语言 查阅全文
- 侯老师--STL源码剖析--书中的疑问一
-
侯老师--STL源码剖析--书中的疑问一
前言
我在看侯捷的STL源码剖析一书中”第一章Class的语法和语意(第30页)”看到了如下的伪代码,我认为是有错误的,因为代码中在没有初始化迭代子的情况下使用。代码如下:
状态8:__STL_MEMBER_TEMPLATES
#include <iostream>
using namespace std;
class allo
- 分类:编程语言 查阅全文
- lotus 中日期小写转大写的函数及算法(lotus script)
-
日期小写变大写
--------------------------------------------
- 分类:编程语言 查阅全文
- Guru of the Week 条款19:自动转换
- GotW #19 Automatic Conversions
著者:Herb Sutter
翻译:K ][ N G of @rk™
[声明]:本文内容取自www.gotw.ca网站上的Guru of the Week栏目,其著作权归原著者本人所有。译者kingofark在未经原著者本人同意的情况下翻译本文。本翻译内容仅供自学和参考用,请所有阅读过本文的人不要擅自转载、传播本翻译内
- 分类:编程语言 查阅全文
- More Effective C++ 条款28(中)
- 条款28:灵巧(smart)指针(中)
测试灵巧指针是否为NULL
目前为止我们讨论的函数能让我们建立、释放、拷贝、赋值、dereference灵巧指针。但是有一件我们做不到的事情是“发现灵巧指针为NULL”:
SmartPtr<TreeNode> ptn;
...
if (ptn == 0) ... &nbs
- 分类:编程语言 查阅全文