
C++
iteye_18581
这个作者很懒,什么都没留下…
展开
-
C++一些基本概念
1.strcpy是拷贝直到\n时结束,所以长度上要增加一个字节,例如原来是一个字符的char[s]="s",到了string中就是"s\n",strcpy是拷贝2个字符,如果拷贝目标地址只有一个字节长度,就会有问题。2.每个线程一个栈(stack),堆(heap)空间共享,栈空间线程独立,全局变量进程内共享.另外在windows下如果用dll,那么每个dll有自己的数据段,全局变量在dll内...2007-09-10 13:46:50 · 126 阅读 · 0 评论 -
《C++沉思录》笔记---类设计者核查表
类设计者的核查表1. 类需要构造函数么?2. 数据是否需要保持私有的?方案一public: int length; 方案二public: const int& length;//在构造函数中length = true_length;这样由于是const变量,只能读,不能修改。private: int true_length; 方案三public: int le...2007-09-13 11:38:59 · 157 阅读 · 0 评论 -
《C++沉思录》笔记---代理类
代理类面向对象编程主要关注继承、动态绑定。继承是一种抽象,允许程序员可以在某种时刻忽略相似对象间的差异,又在其他时候利用这些差异在将继承和容器共用时,需要处理的问题是:控制内存分配,把不同类型的对象放入同一个容器。这时我们需要一个代理类,这个类的每个对象可以代理基类及其任何子类的对象,但这个代理类我们不想再写出多个子类,只一个基类就可以实现所有功能class VehicleSurroga...2007-09-13 15:10:27 · 155 阅读 · 0 评论 -
《C++沉思录》笔记--句柄
句柄从代理类我们继续考虑,怎样可以避免对象复制呢,引出句柄Class Point{public: Point():xval(0),yval(0){} Point(int x,int y):xval(x),yval(y){} int x() const{return xval;} int y() const{return yval;} Point& x(int xv){xva...2007-09-24 14:51:55 · 203 阅读 · 0 评论 -
《C++沉思录》笔记--一个面向对象设计的例子
一个问题,如下图,没有画出箭头 * - + 5 3 4Class Expr_node{ friend ostream operate<<(ostream&,const Expr_node&); //<<符号是不能用动态绑定的,所以用print函数采用动态绑定,用<<符号调用print函数 ...2007-09-26 12:31:56 · 118 阅读 · 0 评论