代码改变世界

随笔分类 - Pure C++

关于虚函数的两个例子

2004-09-07 23:57 by FantasySoft, 1214 阅读, 收藏, 编辑
摘要:晚上看了半天的COM,而里面又是满篇的虚函数。尽管自己对于虚函数有一定的了解,但是远离C++也有一些时日,看来补补课是很有必要的了。 打开自己收藏夹,目光停留在周星星老大经常出没的地方:vcKBase。于是,从这个宝库中找到了自己需要的两篇文章:C++中的虚函数(一)和C++实践系列>C++中的虚函数(virtual function)。 两篇文章都写得... 阅读全文

我该怎样shuffle呢

2004-08-10 01:47 by FantasySoft, 1187 阅读, 收藏, 编辑
摘要:在STL的Algorithm中有着这样的一种算法:mutating algorithm,这一类算法的主要作用是改变Sequence Container中元素的顺序。而改变元素顺序的方法有好几个,如将元素反序(reverse),将元素位置循环旋转(rotate)等,而最吸引我的就是能够产生随机序列的方法了(random_shuffle)。 于是,我写了一段代码是试验一下... 阅读全文

让人头痛的Vector(思索篇)

2004-08-08 00:13 by FantasySoft, 1917 阅读, 收藏, 编辑
摘要:在让人头痛的Vector(提问篇)给大家留了一个问题,hyifeng老大说对了,如果使用vec[0] = 0这种方式的话,"The vector is empty!"是会被打印出来的。然而使用push_back(0),则不会打印出来。 这是为什么呢?首先,empty()函数的值就是布尔表达式vec.size() == 0的返回值,既然"The vector is em... 阅读全文

让人头痛的Vector(提问篇)

2004-08-07 16:55 by FantasySoft, 12244 阅读, 收藏, 编辑
摘要:在写完了此Vector非彼Vector这篇随笔之后,带着留下来的一个问题——Java中的Vector与STL中Vector的区别,我开始集中精力去了解STL中的Vector了。原本以为,有大名鼎鼎的好书《C++ Standard Library, The: A Tutorial and Reference》坐镇,进度应该会很挺快的,结果是被一个小问题绊倒,摔得满天星星,到现在还头痛... 阅读全文

模板——泛型和STL的基础

2004-08-07 01:01 by FantasySoft, 949 阅读, 收藏, 编辑
摘要:所谓泛型,从字面上可以猜想,就是泛化的类型(型别、type)。那么是在什么时候,类型被泛化了呢?我们知道,在编写一个函数的时候,通常都会知道参数(parameter)是什么类型的,很多时候这是理所当然的事情,连类型都不知道,怎么对传入参数进行操作呢?面对这样类似的疑问,C++总会展露出她迷人的笑容,让人消魂。这次,她用温柔的声线告诉我:“我可是能实现可以接受任何适当类型参数的函数哦。 ... 阅读全文

r-value(Rvalue) 和l-value(Lvalue)

2004-08-02 11:44 by FantasySoft, 3900 阅读, 收藏, 编辑
摘要:在写引用类型与指针的比较这篇随笔的时候,我写了一些试验性的代码以检验一些结论是否正确。 首先,引用是一个const的指针(注意不是指向const object的指针),所以在声明一个引用的同时必须对这个引用进行初始化。因此 int &b; 编译不能通过是自然而然的事情,错误信息是:references must be initialized。多事的我就想,既然是co... 阅读全文

引用与指针的比较

2004-07-28 19:14 by FantasySoft, 6026 阅读, 收藏, 编辑
摘要:在给函数参数传递方式作总结的过程中,让我对引用类型有了更进一步的认识。引用类型(reference)是在C++特有的一种新类型(与C相比较),在很多情况下,它提供了与指针操作同等的能力。而且在很多情况下,使用引用是更好的方式。 既然我们在这里要比较指针与应用,那么首先得清楚引用的具体含义。引用是一个const的指针,即一旦引用被赋值了,就不允许改变了,这... 阅读全文

Summary of function parameter

2004-07-14 02:33 by FantasySoft, 3083 阅读, 收藏, 编辑
摘要:对C++这位入得厨房,出得厅堂的MM说爱你说了好几年,却从来没有为她真正献出我的真心;当我看到C#那青春而诱人的身段的时候,我毫不犹豫的拜倒在她裙角下,而狂热的关系仅通过ASP.NET 维系了几个月;花心的我随后跟如斯佳丽般简约唯美的Java度过了半年多疯狂开发的光阴。 身心疲惫的我重新回到了C++的怀抱,我发现她竟然是那样的Attractive,那样的风华绝代。我会... 阅读全文

在String的面前丢脸

2004-06-18 00:39 by FantasySoft, 2557 阅读, 收藏, 编辑
摘要:重返C++的世界,自然离不开标准库,首当其冲的是std::string了。而我这两天硬是在string的面前不断丢脸。sigh~~ std::string hello = "Hello"; std::string message = hello + ", world" + "!"; std::string anotherMessage... 阅读全文