C++
文章平均质量分 70
禾夕
这个作者很懒,什么都没留下…
展开
-
C++-----单链表基本操作
#ifndef MY_LIST_H#define MY_LIST_H#include using namespace std;typedef struct Node{ int num; Node *next;}Node,*pNode;class Mylist{public: Mylist(){ head=NULL; _size=0; } Mylist(const原创 2015-01-09 15:11:56 · 563 阅读 · 0 评论 -
操作符重载
操作符重载 有时候,对于某些对象,需要我们自己重新定义对象的操作运算 以复数为例,我们定义了复数的类型之后,然后对复数a和b进行基本数学运算class Complex{public: Complex(int real=0,int virt=0):_real(real),_virt(virt){}private: int _real; int原创 2016-08-13 16:56:47 · 408 阅读 · 0 评论 -
设计一个类
1、设计一个不能被继承的类 1)将构造函数设为私有 此时子类不能访问基类的构造函数,因此创建子类时就会报错(无法访问private成员) class Base_Uninherit{private: Base_Uninherit(){} Base_Uninherit(const Base_Uninherit& rhs){} Base_Uninherit& ope原创 2016-09-01 19:22:10 · 1055 阅读 · 0 评论 -
C++内存管理
转载自:http://blog.csdn.net/zhanghefu/article/details/5003407C++内存管理 [导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内转载 2016-04-22 15:47:00 · 536 阅读 · 0 评论 -
C++的多态
C++多态 多态,对同一个接口有多种实现方式,即“一个接口,多种实现”, C++有两种实现多态的方法: 1)编译时多态:通过函数重载实现 2)运行时多态:通过虚函数实现编译时多态: C++同一范围中声明几个功能类似的同名函数,然后在调用时根据传入的参数选择合适的函数。 重载的函数必须满足## 函数名相同、函数的形式参数(指参数的个数、类型或者顺序)不同 如果两个函数原创 2016-04-22 14:11:28 · 379 阅读 · 0 评论 -
C、C++中的关键字总结
一、C语言的关键字 共有32个1 数据类型关键字(12个): char double enum float int long short signed struct union unsigned void 2控制语句关键字(12个): 循环语句 :for do while break continue 条件语句 :if else goto 开关语句 :sw原创 2016-04-21 20:42:59 · 1062 阅读 · 0 评论 -
C++内存布局(上)
本文主要介绍C++对象在内存中占用内存的大小以及各个字段的位置布局。一、字节对齐一个基本的对象在内存中占用的内存大小主要为:各字段大小+字节对齐为什么要字节对齐字节对齐的根本原因在于CPU存取数据的效率问题。为了提高效率,计算机从内存中取数据是按照一个固定长度的。比如在32位机上,CPU每次都是取32bit数据的,也就是4字节。因此如果一个int型整数的起始地址是0x00000004,则它是字节对齐原创 2016-03-02 21:27:10 · 4102 阅读 · 1 评论 -
C++内存布局(下)
上一篇已经分析了基本结构体、C++简单对象和加上一般的继承之后的各种情况,这篇文章将主要在有虚继承时,C++对象的内存又是怎样分配的。虚继承虚继承解决了从不同途径继承的类具有共同基类的问题,使得共同基类只有一份拷贝。解决了二义性的问题,也节省了内存。虚继承的一般类图如下所示:sizeof(Derived) = 40 字节。经过分析,可以得到Derived类在内存中的存储结构示意图为:总结:各部分在原创 2016-03-07 19:08:08 · 760 阅读 · 0 评论 -
C++输入
1、cin结束符 程序的输入都建有一个缓冲区,即输入缓冲区。当一次键盘输入结束时会将输入的数据存入输入缓冲区,然后再通过cin函数直接从输入缓冲区中取数据。 cin遇到Space、Tab、Enter都会结束一次数据获取。 eg:当输入为124 ew 34sf时,调用一次cin只会取出124,就遇到空格返回了。 当遇到Tab和Enter处理相同。 2、一些常见的输入情况原创 2016-03-30 18:51:05 · 433 阅读 · 0 评论 -
STL vector的内部实现原理及基本用法
本文基于STL vector源代码,但是不考虑分配器allocator,迭代器iterator,异常处理try/catch等内容,同时对_Ucopy()、 _Umove()、 _Ufill()函数也不会过度分析。一、vector的定义template<class _Ty, class _Ax> class vector : public _Vector_val<_Ty原创 2016-02-23 20:38:46 · 44661 阅读 · 1 评论 -
C++----虚析构函数
虚函数是C++中用于实现多态的机制,主要是通过基类类型的指针指向其派生类的实例,然后通过基类的指针调用实际派生类的函数,从而实现多态。/*当基类指针指向派生类对象时,这种指针只能访问派生对象从基类继承而来的那些成员,不能访问子类特有的元素,除非应用强类型转换如果使用虚函数就能使这个指向派生类对象的基类指针访问派生类中的成员函数,而不是基类中的成员函数,从而实现多态一般应使用基类指针来调用原创 2015-01-11 19:10:22 · 523 阅读 · 0 评论 -
百度面经(C++)
内推 一面: select & epoll两种机制的具体实现 可以用两个epoll监听同一个描述符吗,有事件发生时,怎么工作 hash怎么解决冲突 一致性hash 路由表的网段怎么存储、查找 segment fault怎么用gdb调试,两个函数循环调用会怎样 static的使用场景,在一个cpp中定义,在另一个cpp可以访问吗?static变量存放在哪里 time_wait和clo原创 2016-09-26 16:05:56 · 3805 阅读 · 2 评论