多态的实现机制:C++中虚函数的主要作用就是用来实现多态,就是使用基类的指针或者引用调用重写的虚函数,当父类的指针或引用指向父类对象时调用的是父类虚函数,当指向子类对象时调用的是子类的虚函数。那么这又是怎么实现的呢???这都是通过虚函数表实现的,虚函数表是通过..
分类:
编程语言 时间:
2016-09-06 23:32:50
阅读次数:
169
一、浅拷贝和深拷贝所谓浅拷贝,就是由默认的拷贝构造函数所实现的对数据成员逐一赋值。若类中含有指针类型的数据,这种方式只是简单的把指针的指向赋值给新成员,但并没有给新成员分配内存,因此这种方式必然会导致错误。为了解决浅拷贝出现的错误,必须显示的定义一个拷贝构..
分类:
其他好文 时间:
2016-09-06 23:33:30
阅读次数:
195
String类的简单实现:1、在拷贝构造函数和赋值运算符重载这两个函数中有浅拷贝和深拷贝的问题2、要对输入输出函数重载3、赋值运算符重载有两种方式。注意在采用交换实现的时候函数的参数只能是临时变量classString
{
friendostream&operator<<(ostream&os,Strin..
分类:
其他好文 时间:
2016-09-06 23:32:13
阅读次数:
174
CopyOnWrite(COW):写时拷贝技术一、什么是写时拷贝技术:写时拷贝技术可以理解为“写的时候才去分配空间”,这实际上是一种拖延战术。举个栗子:二、写时拷贝技术原理:写时拷贝技术是通过"引用计数"实现的,在分配空间的时候多分配4个字节,用来记录有多少个指针指向块空间,..
分类:
其他好文 时间:
2016-09-06 23:32:37
阅读次数:
329
在使用new的时候做了两件事:1、调用operatornew分配空间2、调用构造函数初始化对象在使用delete的时候也做了两件事:1、调用析构函数清理对象2、调用operatordelete函数释放空间在使用new[N]的时候也做了两件事:1、调用operatornew分配空间2、调用N次构造函数初始化N个对象在..
分类:
其他好文 时间:
2016-09-06 23:31:46
阅读次数:
137
很多人都误以为智能指针是一个指针,其实不然,智能指针不是指针,智能指针是一个模板,由智能指针实例化出来的的对象具有和常规指针相似的行为,但是他能够自动的释放所指向的对象,所以我们称之为智能指针。如果我们用普通指针来创建一个指向某个对象的指针,那么我们最后必..
分类:
其他好文 时间:
2016-09-06 23:33:23
阅读次数:
213
shared_ptr虽然方便,但是它有着一个致命的缺陷就是循环引用问题,因为shared_ptr本身并没有能力解决这个问题,所以我们又引入了弱指针weak_ptr来辅助shared_ptr解决这个问题。那么循环引用又是什么场景?举个栗子:假设现在我们要创建一个双向整形链表,但是这个链表的指针域..
分类:
其他好文 时间:
2016-09-06 23:30:48
阅读次数:
174
一.网卡别名1.对虚拟主机有用2.可以将多个IP地址绑定在一个NTC上eth0:1eth0:2eth0:33.ifconfig命令ifconfigeth0:0192.168.1.100/24up临时修改网卡的IP地址和子网掩码,重启网络服务后失效4.ip命令ipaddradd172.16.1.2/16deveth02.配置别名时,会有和NetworkManager服务不兼容情况..
分类:
其他好文 时间:
2016-09-06 23:33:11
阅读次数:
1862
//利用容器适配器实现栈和队列
#pragmaonce
#include<iostream>
#include<string>
#include<cassert>
usingnamespacestd;
template<typenameT>
structNode
{
public:
Node(constT&d)
:_next(NULL)
,_prev(NULL)
,_data(d){}
T_data;
N..
分类:
其他好文 时间:
2016-09-06 23:31:54
阅读次数:
174
1、显示当前系统上root、fedora或user1用户的默认shell;grep-E"^root\>|^fedora\>|^user1\>"/etc/passwd|cut-d:-f1,72、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();grep-o"[[:alpha:]]\+()"/etc/rc.d/init.d/functions3、使用..
分类:
系统相关 时间:
2016-09-06 23:32:34
阅读次数:
367
在C++中我们可以通过typeid来获取一个类型的名称(内置类型和自定义类型都可以),但是我们不能用这种方式获取来的名称做变量的声明。那么在C++中怎样识别对象的类型呢??我们可以通过类型萃取的方式来区分内置类型和自定义类型。例如:我们在Seqlist中要用到类型萃取,因为内置..
分类:
其他好文 时间:
2016-09-06 23:32:24
阅读次数:
141
C++中的强制类型转换:static_cast、reinterpret_cast、const_cast、dynamic_cast.
static_cast:用于非多态类型之间的转换(静态转换),任何标准类型之间都可以用它,但它不能用于不相关类型之间的转换。static_cast只能用于相关类型之间的转换。
例:
inti=2;
doubled=static..
分类:
其他好文 时间:
2016-09-06 23:32:08
阅读次数:
171
一、为什么使用命名空间一个大型的工程往往是由若干个人独立完成的,不同的人分别完成不同的部分,最后再组合成一个完整的程序。由于各个头文件是由不同的人设计的,有可能在不同的头文件中用了相同的名字来命名所定义的类或函数,这样在程序中就会出现名字冲突。不仅如此,有..
分类:
其他好文 时间:
2016-09-06 23:31:16
阅读次数:
138
查看系统信息systeminfo
分类:
其他好文 时间:
2016-09-06 23:29:49
阅读次数:
113
首先去网上下载RHEL7.0系统,最好去官网下载。本次教程采用rhel-server-7.0-x86_64-dvd.iso镜像,是在RHEL7.0真机利用Redhat自带虚拟机安装RHEL7.0虚拟机。[root@localhostiso]#lsrhel-server-7.0-x86_64-dvd.iso1.使用命令打开虚拟机[root@localhostiso]#virt-manager2.点击左..
分类:
其他好文 时间:
2016-09-06 23:29:31
阅读次数:
262
引用自《SQLServer2012Internals》“Asviews,thesemetadataobjectsarebasedonanunderlyingTransact-SQL(T-SQL)defnition.Themoststraightforwardwaytoseethedefnitionoftheseviewsisbyusingtheobject_defnitionfunction.(Youcanalsoseethedefnitionofthesesystemviewsbyusingsp..
分类:
数据库 时间:
2016-09-06 23:30:11
阅读次数:
244
#!/usr/bin/envpython
#_*_coding:utf-8_*_
__author__=‘gaogd‘
importre
withopen(‘arr.txt‘,‘r‘)asf:
forlineinf.readlines():
result2=re.findall(‘[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}‘,line)
ifnotresult2==[]:
printresult2[0]
result=result2[0]+‘\n‘
with..
分类:
编程语言 时间:
2016-09-06 23:31:51
阅读次数:
266