C/C++
文章平均质量分 75
码农自来也
这个作者很懒,什么都没留下…
展开
-
C++中的虚函数(virtual function)
最近参加几次笔试都考到了虚函数,但是这个东西我并不怎么理解。偶然间在网上看到这篇写得不错的东西,所以在学习之余转回来和大家共享。谢谢作者的工作。 一.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public:virtual void foo() { cout };class B:转载 2008-10-26 13:30:00 · 837 阅读 · 0 评论 -
transform算法中使用toupper函数
transform算法中使用toupper函数原创 2010-06-05 12:33:00 · 3628 阅读 · 0 评论 -
关于迭代器(iterator)和指针的思考
今天有点闲,于是打开电子版的>来看。其中9.2节有一个表9.4,它指出了vector 和 deque 类型迭代器支持的操作。这本来是很平常的,但是表中的iter1+iter2引起了我极大的兴趣。于是写了下面一段代码来验证是否真的能支持这运算#include #include using namespace std;int main(){ vector vec原创 2009-09-20 21:58:00 · 6981 阅读 · 4 评论 -
CppUnit快速入门
转载 2009-06-04 23:19:00 · 1178 阅读 · 0 评论 -
CppUnit测试
转载 2009-06-04 23:15:00 · 801 阅读 · 0 评论 -
c++类实例大小
初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什么这么做?今天和大家谈的一点感悟就是我在学习编程过程中的一点经验,是编译器这方面的一个具体功能. 首先:我们要知道什么是类的实例化,所谓类的实例化就是在内存转载 2009-03-01 11:09:00 · 1082 阅读 · 0 评论 -
STL学习指南
这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。 译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分转载 2008-12-15 12:31:00 · 739 阅读 · 0 评论 -
类模板的友元
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> 今天写了下面这个类来练习运算符的重载:templateclassT>class CTest { public: CTes原创 2009-02-23 12:18:00 · 2591 阅读 · 1 评论 -
类模板与模板类
1.类模板与模板类的概念⑴ 什么是类模板 一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默写成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。 如果一个类中数据成员的数据类型不能确定,或者是某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的、实际的类,而是代表着一类类。原创 2009-02-15 17:23:00 · 20934 阅读 · 23 评论 -
类的static,const,static const , const static成员的初始化
学习过C++已经好长时间了,但是一直都没机会去写C++代码,所以很多东西都已经给遗忘了。趁着假期,我重新找到了C++的学习资料来复习,并且写下一些学习的笔记,供自己以后复习之用。下面是我的关于类的static,const,static const , const static成员的初始化问题的学习笔记。1.类里的const成员初始化: 在一个类里建立一个const时,不能给它初值。像原创 2009-02-07 23:06:00 · 1874 阅读 · 3 评论 -
define 中的#,##和#@
今天逛CU论坛的时候看见有人问#define GLRO(x) _##x是什么意思。这个问题我曾经在一次笔试中遇过,当时也花了一些时间在网上查了一下,也有了点心得,所以今天想写一篇相关的文章,希望以后能给需要用在到这个知识点的人点帮助。 总的来说,在网上搜索得到的知识中,在宏中使用#有3种情况,下面我们分情况来讨论一下吧。 1) 前加##或后加##,将标记作为一个合法的标原创 2009-02-05 22:07:00 · 975 阅读 · 0 评论 -
C++ virtual member function FAQ
1】 虚成员函数和非虚成员函数调用方式有什么不同? 非虚成员函数是静态确定的。也就是说,该成员函数(在编译时)被静态地选择,该选择基于指向对象的指针(或引用)的类型。 相比而言,虚成员函数是动态确定的(在运行时)。也就是说,成员函数(在运行时)被动态地选择,该选择基于对象的类型,而不是指向该对象的指针/引用的类型。这被称作“动态绑定/动态联编”。大多数的编译器使用以下的一些的技术,也就是所转载 2008-11-11 12:07:00 · 839 阅读 · 1 评论 -
浅谈C中的malloc和free
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用—— 就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以 写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!转载 2008-10-27 21:48:00 · 883 阅读 · 1 评论 -
在C++拷贝构造函数中使用初始化列表
今天同事遇到一个关于拷贝构造函数的问题。代码大致如下:class test{ public: test( size_t size ) { v.assign( size, 1 ); } test( const test& rhs) { v = rhs.v; } ~test(){} private: vector v;};class anot原创 2013-06-26 00:05:08 · 4826 阅读 · 0 评论