- 博客(46)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
转载 错误:unrecognized command line option “-std=c++11”,解决ubuntu不支持c++11的问题
出现这个编译错误的原因在g++ gcc 版本不够高。添加源$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test$ sudo apt-get update安装4.8版本$ sudo apt-get install gcc-4.8 g++-4.8查看本地安装版本$ ls -lh /usr/bin/g++*这里应该会看到本机装了4.6(自带)和4.8两
2017-06-06 21:56:47
13623
3
转载 计算机网络面试知识点
整理一下计算机网络部分的面试常考点,参考书籍:《计算机网络》第五版 谢希仁的那本,希望对大家有所帮助OSI,TCP/IP,五层协议的体系结构,以及各层协议OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。 五层协议(5层):物理层、数据链路层、网络层、运输层、 应用层。 每一层的协议如下:物理层:RJ
2017-05-31 23:19:09
562
原创 MySQL事务
从一个问题开始从ATM机取钱这件简单的事情,实际上主要分为以下几个步骤:登陆ATM机,输入密码;连接数据库,验证密码;验证成功,获得用户信息,比如存款余额等;用户输入需要取款的金额,按下确认键;从后台数据库中减掉用户账户上的对应金额;ATM吐出钱;用户把钱拿走一个简单的取钱,主要分为以上几步。不知道大家有没有“天真”的想过,如果在第5步中,后台数据库中已经把钱减掉了,但是ATM还就是
2017-05-31 17:21:45
549
原创 MySQL引擎详解
MySQL的存储引擎是MySQL体系架构中的重要组成部分,也是MySQL体系结构的核心,插件式的存储引擎更是它区别于其它数据库的重要特征。它处于MySQL体系架构中Server端底层,是底层物理结构的实现,用于将数据以各种不同的技术方式存储到文件或者内存中,不同的存储引擎具备不同的存储机制、索引技巧和锁定水平。常见的MySQL存储引擎有InnoDB、MyISAM、Memory、Archive等等,它
2017-05-31 16:55:18
555
原创 B树与B+树
B树B树是一种多路搜索树(并不是二叉的):定义任意非叶子结点最多只有M个儿子;且M>2;根结点的儿子数为[2, M];除根结点以外的非叶子结点的儿子数为[M/2, M];每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字)非叶子结点的关键字个数=指向儿子的指针个数-1;非叶子结点的关键字:K[1], K[2], …, K[M-1];且K[i] < K[i+1];
2017-05-31 15:43:43
347
转载 C++继承
基本概念继承 类的继承,就是新的类从已有类那里得到已有的特性。原有的类称为基类或父类,产生的新类称为派生类或子类。基本语法派生类的声明:class 派生类名:继承方式 基类名1, 继承方式 基类名2,...,继承方式 基类名n{ 派生类成员声明;};在 c++ 中,一个派生类可以同时有多个基类,这种情况称为多重继承。如果派生类只有一个基类,称为单继承。派生类继承基类中除构造和析构函数以
2017-05-27 11:03:30
289
转载 C++多态
C++ 的三大特性,封装,继承,多态。封装可以使得代码模块化,继承可以扩展已存在的代码,而多态的目的则是为了接口重用。本篇博客主要介绍C++中多态的相关概念及使用方法。概念多态(Polymorphisn)多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说:允许将子类类型的指针赋值给父类类型的指针(一个接口,
2017-05-27 10:39:57
354
转载 C++多线程
C++多线程转载自http://www.cnblogs.com/quincyhu/p/5884361.html本篇博客主要介绍C++ 的多线程机制。多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。基于进程的多任务处理是程序的并发执行。线程的多任务处理是同一程序的片段的并发执行。多线程程序包含可以同时运行的两
2017-05-26 16:13:10
670
原创 牛顿迭代法求平方根、立方根
牛顿迭代公式平方根迭代公式:a(n+1)=( a(n) + num/a(n) )/2,a(0) 初始化为1; 立方根迭代公式:a(n+1)=( 2a(n) + num/( (a(n))^2 ) )/3,a(0) 初始化为1;程序计算过程#include<iostream>#include<iomanip>#define E 0.0001using namespace std;double ge
2017-05-16 11:25:49
2609
原创 nginx的安装&配置静态文件访问
安装Nginx安装gcc g++依赖库ubuntu平台可以使用如下命令apt-get install build-essentialapt-get install libtoolcentos平台可以使用如//centos平台编译环境使用如下指令//安装make:yum -y install gcc automake autoconf libtool make//安装g++:yum insta
2017-05-11 20:06:48
939
原创 基于MySQL服务器的性能优化
在此我们将性能优化的目标定义为降低查询的响应时间。为了降低响应时间,就必须先搞清楚时间都花在哪里:无法测量就无法有效地优化。 完成一项任务所需时间可以分为两部分:执行时间和等待时间。如果要优化任务的执行时间,最好的办法是通过测量定位不同的子任务花费的时间,然后优化去掉一些子任务、降低子任务的执行频率或者提升子任务的执行效率。优化等待时间则相对复杂一些,因为等待有可能是由其他系统间接影响导致,
2017-05-08 17:31:57
295
原创 STL之仿函数
一、概述仿函数是早期命名,C++标准后采用新名称函数对象。函数对象即指具有函数特质的对象,即一个行为类似函数的对象。通过在仿函数对象后面加上( )实现函数调用,示例程序如下:#include<functional>#include<iostream>using namespace std;int main(){ greater<int> ig; cout << boolalph
2017-04-11 17:04:11
760
原创 STL之hashtable
一、hashtable概述hash table可提供对于任何有名项的存取和删除操作。由于操作对象是有名项,所以hashtable可以被视为一种字典结构。这种结构的用意在于提供常数时间的基本操作。 常用的hash函数有取余函数等,而解决hash冲突的方法有线性探测法、二次探测法、开链法。线性探测法:当hash函数计算出元素的存放位置时,若该位置已有元素,则尝试将元素放在该元素的下一位置,若仍被占,继
2017-04-07 15:25:43
638
转载 MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要
2017-04-06 10:44:36
509
原创 STL之String详解
表头文件<string>定义了所有字符串型别和函数。 字符串中的操作函数 操作函数 效果 =,assign() 赋以新值 swap() 交换两个字符串的内容 +=, append(),push_back() 添加字符 insert() 插入字符 erase() 删除字符 clear() 移除全部字符 resize() 改变字符数量
2017-04-02 16:29:44
2094
原创 string、char与int类型之间的转换
代码如下:#include<iostream>#include<string>using namespace std;int main(){ //string转int string s = "123"; cout << atoi(s.c_str()) + 1 << " " << typeid(atoi(s.c_str())).name() << endl; //i
2017-04-01 16:42:46
578
原创 STL无序容器之unordered_map
一、概述头文件<unordered_map>定义了unordered_map和unordered_multimap容器。这个是C++11新特性,以前的编译器不支持。unordered_map类模版定义如下:template < class Key, // unordered_map::key_type cla
2017-03-31 15:55:45
4890
1
原创 C++输入和输出
C++的I/O由流(stream)完成,常用的有class istream(输入流)、class ostream(输出流)。IOStream程序库定义了数个iostream全局对象: 对象 型别 说明 cin istream 标准输入通道,OS将其常与键盘连接 cout ostream 标准输出通道,OS将其常与屏幕连接 cerr ostream 标准错
2017-03-31 10:30:50
966
原创 C++中operator <<中的自增自减运算
C++的cout用来输出数据,但是在cout中使用自增、自减运算符时需格外注意。如下代码:#include <iostream>using namespace std;int main(){ int x = 1; cout << x++ << " " << x-- << endl; // 输出 0 1 x = 1; cout << x-- << " " <<
2017-03-30 17:29:15
678
1
原创 STL关联式容器之map和multimap
map和multimap是STL里面的关联式容器,map的特性是所有元素会根据元素的键值被自动排序,map的所有元素都是pair,同时拥有实值和键值。pair的第一元素被视为键值,第二元素被视为实值。map不允许两个元素拥有相同的键值。下面是<stl_pair.h>中pair的定义:template <class T1, class T2>struct pair{ typedef
2017-03-30 11:43:08
2103
原创 STL特殊容器之bitset
bitset构造出一个内含位(bit)或布尔(bool)值且大小固定的array。不能改变bitset内位的数量。这个参数由template参数决定的。如果需要一个可变长度的位容器,考虑使用vector<bool>。Class bitset定义于头文件<bitset>中,有一个template参数用来指定位的数量:namespace std { template <size_t Bi
2017-03-29 15:11:40
1929
原创 STL序列式容器之vector
vector构造出一个动态数组,本身是将元素置于动态数组中加以管理的抽象概念。使用vector之前必须含入头文件<vector>,vector是一个定义于
2017-03-28 21:54:13
348
原创 STL序列式容器之list
list使用一个双向链表来管理数据。使用list必须含入头文件<list>,其型别定义如下:namespace std{ template <class T, class Allocator = allocator<T> > class list;}list不支持随机存取,所以既不提供下标操作符,也不提供at()。list相较于vector的好处
2017-03-28 19:49:13
401
原创 STL序列式容器之deque
deque是一种双向开口的连续线性空间,所谓双向是指可以在首尾两端进行插入和删除,逻辑结构如图所示:deque和vector最大的差异在于deque可以在常数时间内对头端进行插入和删除操作,而且deque没有容量的概念,随时可以增加一段新的空间并链接起来。除非必要,应尽量使用vector而非deque。对deque进行排序操作为了提高效率可以先将deque复制到vector中,将vector
2017-03-28 15:00:06
360
原创 STL特殊容器之stack
stack是一种先进后出(FILO)的数据结构,它只有一个出口。stack允许新增元素、移除元素、取得栈顶元素,除了栈顶元素,取不到其他元素,即栈不允许遍历,也不提供迭代器。deque作为stack的底层容器,可以轻易的形成一个stack。因此,SGI STL以deque作为缺省情况下的stack的底部结构。所以stack也是容器配接器。使用stack之前须先含入头文件<stack>。
2017-03-28 09:24:39
289
转载 程序员技术练级攻略
月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我
2017-03-27 20:05:57
1195
原创 STL特殊容器之priority_queue
priority_queue是一个拥有权值(优先级)观念的queue,除此之外和queue无异。priority_queue内的元素并非依照被推入的次序排序,而是按照元素的权值排列。权值最高者排列在最前面。缺省情况下priority_queue使用max-heap实现的,max-heap是一个以vector表现的完全二叉树。max-heap可以满足priority_queue所需的“按照权值
2017-03-27 18:49:54
533
原创 STL特殊容器之queue
queue是一种先进先出(FIFO)的数据结构,在队头取出元素,队尾加入元素,除此之外没有其他办法存取queue的元素,即queue不允许遍历操作,所以也不提供迭代器。推入queue的操作为push,推出操作为pop。以既有容器作为底层结构,改变接口符合FIFO原则即可。SGI STL以deque作为缺省情况下的queue底部结构
2017-03-27 17:04:37
499
原创 STL关联式容器之set和multiset
set和multiset是STL里面的关联式容器,对其元素而言,实值和键值是统一的。元素会根据特定的排序准则自动排序,默认为升序排列。set和multiset中不能通过迭代器改变元素值,因为元素值即是键值,会破坏其组织。要改变元素值,必须先删除旧元素,再插入新元素。其底层实现均采用红黑树数据结构。set和multiset的不同点是set不允许元素值重复,而multiset允许出现重复元素。使
2017-03-27 15:53:00
495
原创 牛客网错题集-C++
1. 枚举初值enum string{ x1, x2, x3=10, x4, x5, } x;函数外部问x等于什么? 定义在函数外是全局变量,程序初始化为0;若是定义在函数内,编译器提示变量未初始化错误。此时x1=0,x2=1,x3=10,x4=11,x5=12。相应的,若x1=’a’,则输出时,x1=97(取
2017-03-26 22:52:41
1760
原创 基本数据类型在32位系统和64位系统中所占字节数
最近看到这方面的知识,众说纷纭,所以自己动手实验下。请看代码:#include<iostream>using namespace std;int main(){ cout << "字符数据:" << endl; cout << "char\t" << sizeof(char) << endl; cout << "unsigned char\t" << sizeof(uns
2017-03-26 18:58:14
6415
原创 mongodb命令模式操作
1. 正则表达式http://www.runoob.com/mongodb/mongodb-regular-expression.html2.常用操作http://blog.youkuaiyun.com/wangpengzhi19891223/article/details/51549077
2016-11-17 16:30:41
345
转载 mongodb shell 无法删除问题
mongodb shell 无法删除问题1、MongoDB Shell中退格键使用的问题。利用SecureCRT工具访问linux的时候,在使用MongoDB的交互式shell的时候,退格键(Backspace)无法使用,导致无法修改输入的字符。为这个错误,废了好长时间的力气,终于找到了错误的原因。其实,主要是SecureCRT工具默认的字符输入模式的问题,可以通过以下方式修改:第
2016-11-17 16:19:29
383
原创 早期社团发现算法调研
复杂网络社团发现算法综述1. 相关概念复杂网络:具有自组织、自相似、吸引子、小世界、无标度中部分或全部性质的网络称为复杂网络。社团结构:网络中的顶点可以分成组,组内顶点间的连接比较稠密,组间顶点的连接比较稀疏。2. 算法分类3.1非重叠社团发现算法3.1.1 模块度优化算法模块度:目前常用的一种衡量网络社区结构强度的方法,定义为用它来定量衡量网络
2016-11-16 21:02:52
7346
原创 Apache静态文件访问配置(书封服务器)
在日常的web开发中,我们可能需访问一些文件,这时可以使用Apache进行静态文件访问配置,通过url在网页中访问到资源。这里我们以一个书封服务器为例。 首先将书封文件存放在服务器的某一目录下,如图然后在Apache的配置文件httpd.conf中添加以下内容用/Image目录做文件在服务器上绝对路径的别名,通过设定的监听端口即可访问静态文件访
2016-11-16 15:44:59
9479
原创 Linux 的Run level介绍
Linux系统通过run level来规定系统使用不同的服务来启动,从而让Linux的使用环境不同。run level有7个等级,分别是:0 - halt 系统直接关机1 - single user mode 单人维护模式,系统故障维护时使用2 - Multi-user,without NFS 类似runlevel 3,但是无NFS服务3 - Full mult
2015-09-11 22:37:00
846
原创 CentOS用光盘做本地源安装gcc
1. 挂载光盘mkdir /mnt/cdrom #创建挂载目录mount /dev/cdrom /mnt/cdrom为确保开机自动挂载,可将挂载信息写入/etc/fstab内2. 配置本地yum源vim /etc/yum.repos.d/CentOS-Media.repo可作如下修改
2015-09-11 10:28:03
944
原创 Linux压缩与解压缩命令
Linux中,压缩文件的扩展名大多是*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2。因为Linux的压缩指令很多,不同的压缩指令使用的压缩技术不同,所以其压缩结果也是不同的,通过文件扩展名加以区分。*.Z compress程序压缩的文件;*.gz gzip程序压缩的文件;*.bz2 bzi
2015-08-21 09:17:53
631
原创 远程工具不能连接接到虚拟机
问题如题所述,笔者使用的是SecureCRT远程连接VMware中的Centos系统虚拟机时出现问题,远程连接不上,这时可以打开虚拟机网络设置点击还原默认设置,这里需要等一会,还原之后虚拟机的网络连接选择NAT模式,在Windows命令窗口ping还原后的网关,可以ping通后再登录进入Centos系统,修改IPADDR为还原后网段内的一个IP值,执行service network resta
2015-08-18 11:08:32
5320
原创 Linux文件属性和权限的修改
改变文件属性的命令:chgrp,chown1. 改变文件所属群组chgrp,chown命令格式chgrp [组名] [文件路径]文件名,前提是该组名已在/etc/group内存在。命令格式chown .[组名] [文件路径]文件名2. 改变文件所属用户chown命令格式chown [用户名] [文件路径]文件名,前提是用户名存在于/etc/passwd中。3. 同
2015-08-11 10:52:28
565
TA创建的收藏夹 TA关注的收藏夹
TA关注的人