- 博客(13)
- 收藏
- 关注
原创 Obfuscated C++
Obfuscated C++作者:Robert Murray译者:袁小凯Email – ccplusplus@21cn.com译序在我看到这个题目后,就想试着写出其输出。结果和我写的相同,但是,我没有喜乐,而是一脸的迷惑。因为我不知道如何用我有限的C++知识去解释为什么,我只是猜对的,可悲吧!但看了结论后,一切都是那么的简单,那么明了。帖上这篇文章,让更多的人
2001-11-27 17:27:00
5380
原创 Generic Programming: Mappings between Types and Values
Generic: Mappings between Types and ValuesAndrei Alexandrescu前言 Andrei Alexandrescu的文章不用我说了吧,经典!由于小弟水平有限,不敢翻译,恐有误人子弟之嫌,好了大家还是赶快看吧。^_^,望看过的朋友发表一下你的心得,共同探讨。Note: This article updated
2001-11-26 10:02:00
1030
原创 C++模板的定制五:对定制成员函数的补充
C++模板的定制五:对定制成员函数的补充作者:袁小凯华南理工大学计算机研究所北区研发二部Email – ccplusplus@21cn.com 前言在” C++模板的定制四:定制成员函数和缺省类参 “一文中我简单介绍了模板类中成员函数的定制(全特化),但是有一细节还是说清楚的好,以免大家误解。在C++中不能局部定制模板类中的成员函数。再说一下模板类中的模板成员函数的用法。希
2001-11-24 10:59:00
921
原创 C++模板的定制四:定制成员函数和缺省类参
C++模板的定制四:定制成员函数和缺省类参一、 定制成员函数定制模板类成员函数,就是定义一个指定类型的类成员函数取代模板类定义的成员函数,实现特殊的功能,从而完成模板类成员函数的定制。 template class classname{ public: classname
2001-11-24 10:25:00
1357
原创 C++中union的应用剖析
C++中union的应用剖析作者:袁小凯华南理工大学计算机研究所北区研发二部Email – ccplusplus@21cn.com前言 熟悉C的程序员都知道union(联合体)的用法,利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。当访问其内成员时可用”.”和”->”来直接访问。在C++出现后,它继承了union并保留了其在C中的特性。但
2001-11-20 08:29:00
1305
原创 侯老师--STL源码剖析--书中的疑问二
侯老师--STL源码剖析--书中的错误二前言我在看侯捷的STL源码剖析一书中”第二章设计一个阳春的空间配置器JJ::allocator(第45页)看到了如下的伪代码,我认为是有错误的,代码如下:命名空间JJ中代码……templateinline void _construct(T1* p, const T2& value){ new(p) T1(valu
2001-11-16 10:04:00
1178
3
原创 侯老师--STL源码剖析--书中的疑问一
侯老师--STL源码剖析--书中的疑问一前言我在看侯捷的STL源码剖析一书中”第一章Class的语法和语意(第30页)”看到了如下的伪代码,我认为是有错误的,因为代码中在没有初始化迭代子的情况下使用。代码如下:状态8:__STL_MEMBER_TEMPLATES#include using namespace std;class alloc{}; templ
2001-11-15 11:47:00
1028
原创 侯老师--STL源码剖析--书中的疑问三
侯老师--STL源码剖析--书中的疑问三前言我在看侯捷的STL源码剖析一书中”第二章2.2具备次配置力(sub-allocation)的SGI空间配置器(第47页)看到了如下的代码,我认为是有错误的。SGI空间配置器原文 ……SGI的空间配置器与众不同,也和标准规格不同,其名称为alloc而非allocator,而且不接收任何引数。换句话说如果你要在程式中明白
2001-11-15 11:31:00
1020
1
原创 STL程序设计实践一:谨慎使用下标运算符
STL程序设计实践一:谨慎使用下标运算符 STL中容器占据很重要的地位,部分容器支持像数组一样的下标运算符,使其能向数组一样方便的访问,但也存在同样的限制,如向量和双端队列。所以在应用中要小心使用。举例说明: vector nvec(10,7); //定义元素都为7大小为10的整形向量 int n = nvec[0]; //获取向量的第一个元素 d
2001-11-10 18:39:00
1124
1
原创 STL程序设计实践二: 注意迭代子的失效
STL程序设计实践二: 注意迭代子的失效迭代子是STL中很重要的特性,但是其很脆弱(我个人认为),因为使用它的条件很苛刻,一不小心就失效了。其在两中情况下可能会失效。1.当容器有插入操作时在初始化了迭代子后,如果容器有插入操作时,迭代子可能失效。#include #include using namespace std; void main()
2001-11-10 18:38:00
771
原创 STL程序设计实践三:剖析STL容器的拷贝构造和赋值特性
STL程序设计实践三:剖析STL容器的拷贝构造和赋值特性拷贝构造STL容器都支持元素的插入操作,但是当你插入自定义类对象你必须要清楚的了解STL容器是如何完成插入,对插入的自定义类对象有什么基本的要求。否则会出现你想不到的错误。举例说明。class TestCpyConstruct{public:TestCpyConstruct():data(NULL){da
2001-11-10 18:37:00
945
原创 STL程序设计实践四:简化输入和提高可维护性
STL程序设计实践四:简化输入和提高可维护性 STL存在于C++标准库的std空间中,当你使用std空间中的类型时必须在前面加上std::,否则必须在程序中加入如下语句:using namespace std; 把std引入到全局空间,这样就不用输入std::了,方便了我们输入。但当你要需要使用STL中的容器声名一个某种类型的对象时,如:vector vectstr
2001-11-10 18:36:00
710
原创 C++模板的定制二:定制C++类
C++模板的定制二:定制C++类 类模板的基本语法如下: template class classname{ ……};T可以是任何类型,下面我就举一个类模板的例子(请大家不要追究这个类子需不需要这样写或有没有意义,记住这只是举例,我们关心的应该是语言的特性,这才是最重要的,不是吗?)。template cl
2001-11-09 20:33:00
992
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人