- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 SGI STL 的 一,二级配置器浅析
补充知识: 由于小型区块可能会造成内存破损,所以SGI设计了双层配置器,第一级配置器直接使用malloc()和free(),第二级配置器则根据配置区块的大小采用不同策略(若区块大小大于128bytes就调用一级配置器,若小于128bytes就调用二级配置器(内存池处理))SGI STL 的第一级配置器 和 第二级配置器的关系 <一> 第一级配置器的工作机制: allocate()和real
2016-04-25 17:15:30 652
原创 用类对象初始化int,double 等类型的变量
如何将一个类赋值给一个int,double等型的变量,可以采用重载类型的方法解决,如下: 1.没有重载int类型之前:#include <iostream>using namespace std;class Test{public: Test(int d = 0):data(d) { } ~Test() { }public: voi
2016-04-20 19:08:57 1207
原创 致自己
(1)赋值函数的书写步骤: a.判断是否是自身赋值; b.释放原有空间; c.开辟新空间并赋新值; d.返回自身对象; eg: String& operator=(const String &str) { cout<<"Assign: "<<this<<endl; /
2016-04-19 16:27:39 917
原创 int 运算符重载
为了更深入的理解返回引用和对象,以及运算符重载,做了int的运算符重载: #include <iostream>using namespace std;class Int;ostream& operator<<(ostream &out, const Int &i);class Int{ friend ostream& operator<<(ostream &out, const I
2016-04-18 19:11:35 1704 1
原创 浅谈TCP(传输控制协议)的可靠性
TCP提供一种面向连接的,可靠的字节流服务;什么是字节流服务: TCP不在字节流中插入记录标志符就被称为是字节流服务;TCP对字节流的处理方式: TCP对字节流的内容不做任何解释,因为TCP分不清传输的是哪种类型的数据;对字节流的解释是由TCP连接双方的应用层来解释的;TCP的这种对字节流的处理方式与UNIX操作系统对文件的处理方式很相似;UNIX操作系统对文件的处理方式是: UNIX的内核对
2016-04-14 10:53:00 996
原创 c++学习之赋值兼容规则
规则一: 派生类的对象可以给基类对象赋值(因为在继承的时候c继承了父类的信息,可以在进行了对象切片后给子类中相应的父类信息段赋值) eg:class base{public: base(){} ~base(){}public: int x;};class D : public base{public: D(){} ~D(){}public:
2016-04-13 22:09:14 645
原创 c++学习之同名隐藏
同名隐藏: 子类中具有和父类同名的函数(不管参数)时,子类的该方法将会隐藏掉所有的父类的同名方法;class base{public: base(){} ~base(){}public: void show() { cout << "base :: show()" <<endl; } void show(int x) {
2016-04-13 20:55:46 1045
原创 虚基类与虚拟继承
虚拟继承: 顾名思义就是继承了但不给开辟空间;class B0 //此段代码中B0就是虚基类{public: B0() : m(0) {}public: int m;};class B1 : virtual public B0 //B1虚拟继承B0{public : B1() : n(0) {}public: int n;
2016-04-13 19:49:51 623
原创 成员函数的重载,覆盖和隐藏
什么是函数重载: 在C++程序中,可以将语义,功能相似的函数用同一个名字表示,即就是函数重载。函数重载的原因: (1)便于记忆,提高函数的易用性; (2)类的构造函数需要重载机制;(因为c++规定构造函数与类同名,构造函数只能有一个名字,若要有不同的方法创建对象,只能依靠重载)成员函数被重载的特征: (1
2016-04-13 15:17:52 369
原创 多态的简单应用
以下是多态的简单应用:通过父类的纯虚函数来实现多态#include <iostream>using namespace std;class Object{public: Object() {} ~Object() {}public: virtual void Print()const = 0;};class List;class Listnode{
2016-04-13 09:32:17 245
原创 C++继承的相关概念
继承最主要的作用是实现多态*无论是哪种继承,对象都不能访问父类的私有成员公有继承#include <iostream>using namespace std;class base{private: int x;};class D : public base //D公有继承父类base{public: int y;};int main(){ cout << s
2016-04-11 15:35:04 270
原创 C++编程思想第二章练习答案
1.修改Hello.cpp,使它能打印你的名字和年龄(或你的鞋码,爱犬的年龄等,只要你喜欢)。编译并运行修改后的程序 修改前的Hello.cpp#include <iostream>using namespace std;int main(){ cout<<"Hello, World! I am "<< 8 <<" Today!"<<endl;} 输出结果为: [roo
2016-04-06 19:47:20 997
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方
2016-04-06 09:27:46 245
原创 数据结构之顺序表的实现
顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。以下是用C++实现的顺序表的接口操作: 其.cpp文件如下:#include <stdlib.h>#include "test.h"int main(){ Seqlis
2016-04-05 22:15:53 547
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人