- 博客(34)
- 收藏
- 关注
转载 assert()函数用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badpt
2016-03-10 20:57:18 247
转载 互斥锁pthread_mutex_t的使用
互斥锁pthread_mutex_t的使用(转载),有需要的朋友可以参考下。互斥锁pthread_mutex_t的使用(转载)1. 互斥锁创建有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下:pthread_mutex_t mutex=PTHREAD_MUTEX_INI
2015-12-22 10:51:20 389
转载 python 连接 redis
首先确保redis已经正常启动。 安装 可以去pypi上找到redis的Python模块: http://pypi.python.org/pypi?%3Aaction=search&term=redis&submit=search 然后按照提示down下来redis-py-2.2.1.tar.gz 非常标准的解压: #tar xvzf redis-py-
2015-12-14 09:04:42 328
原创 std::string eatSpace(std::string &strInput){}//去除string空白符函数
std::string eatSpace(std::string &strInput){ std::string strOutput = ""; for (size_t i = 0 ; i if (!isspace(strInput[i])) { strOutput += strInput[i]; }
2015-12-12 13:02:08 711
转载 详解C++中命名空间的意义和用法
文章原文出自:http://www.jizhuomi.com/software/289.html命名空间的意义 为什么需要将函数定义在命名空间中呢?这其实是为了避免变量或函数重命名的问题。试想,一个项目组内多个工程师进行开发,有可能会出现全局变量或函数重名的现象,而如果每个人都定义了自己的命名空间,就可以解决这个问题,即使重名,只要分属不同的命名空间就不会引起问题。
2015-12-08 09:19:43 350
原创 size_type详解
由string类类型和vector类类型定义的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型string抽象意义是字符串, size()的抽象意义是字符串的尺寸, string::size_type抽象意义是尺寸单位类型string::size_type它在不同的机器上,长度是可以不同的,并非固定的长度。但只要你使用了这
2015-12-07 15:55:29 629
转载 vector中erase用法注意事项
vector::erase():从指定容器删除指定位置的元素或某段范围内的元素vector::erase()方法有两种重载形式如下:iterator erase( iterator _Where);iterator erase( iterator _First, iterator _Last);如果是删除指定位置的元素时:返回值是一个迭代器,指向删除元素下一个元
2015-12-07 15:46:26 289
转载 QTableWidget控件总结
QTableWidget是QT对话框设计中常用的显示数据表格的控件。学习QTableWidget就要首先看看QTableView控件(控件也是有”家世“的!就像研究人一样一样的),因为QTableWidget继承于类QTableView。两者主要区别是QTableView可以使用自定义的数据模型来显示内容(也就意味着使用时先要通过setModel来绑定数据源),而QTableWidget则
2015-12-01 19:27:58 259
转载 STL set
STL 对这个序列可以进行查找,插入删除序列中的任意一个元素,而完成这些操作的时间同这个序列中元素个数的对数成比例关系,并且当游标指向一个已删除的元素时,删除操作无效。而一个经过更正的和更加实际的定义应该是:一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。这在收集一个数据的具体值的时候是有用的。集合中的元素按一定的顺序排列,并被作为集合中的实例。一个集合通过一个链表来组织,在插入操作
2015-12-01 11:58:30 245
转载 函数对象
一个函数对象,即一个重载了括号操作符“()”的对象。当用该对象调用此操作符时,其表现形式如同普通函数调用一般,因此取名叫函数对象。举个最简单的例子:class FuncObjType { public: void operator() () { cout"Hello C++!" } }; 类FuncObjT
2015-12-01 11:26:35 220
转载 STL中的set容器的一点总结
感谢文章的作者。文章转自:http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/13/2636375.html1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封
2015-11-27 17:17:32 239
转载 STL vector用法介绍
原博文地址:http://blog.csdn.net/phoebin/article/details/3864590介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用
2015-11-27 11:32:58 225
原创 qt 文本读写
// QString sFilePath = "/home/d5000/flag0.txt";// QFile file(sFilePath);// //方式:Append为追加,WriteOnly,ReadOnly// if (!file.open(QIODevice::Append|QIODevice:
2015-11-17 08:35:51 296
原创 与日月同在,与大地为邻。
刚刚在工作上起色的时候,突入其来的一场疾病,让我不得不请假养病,虽然算不上经历过生死,但是让博主还是忍不住喟叹三声。博主年少丧父,与母相依为命长大,好不容易读完大学,能够替母亲大人分担一些时,在稍有意气风发的时候,却病倒了,心中的郁闷可想而知。其次,又考虑到特殊的家庭情况,真是对我亲爱的母亲大人的一种不可谓不小的打击。越想越想感觉这命运似乎对博主有些不公平。因为博主还算孝敬,不想母亲大人因
2015-11-14 11:46:54 467
转载 Debian系统apt-get命令整理修改更新源
软件包管理是区分不同发行版的一大特征,如RedHat使用RPM软件包来管理软件,Debian使用Deb软件包来管理软件。apt-get是Debian的Deb软件包管理工具,它的最低底层还是调用dpkg包管理程序,通过apt-get工具可使我们很好地解决软件包的依赖关系,方便软件的安装和升级。 要使用好apt-get就要配置好一个名为sources.list的资源列表,资源列表指向Deb
2015-11-11 19:38:12 13626
转载 boost的字符串处理函数——string algorithm
c++在stl库中提供了一个string类用以代替c语言的char*来实现字符串功能,不过stl的string只提供了一个连接字符串和查找的功能,其它的常用函数几乎一律没有,就连字符串替换都得自己来实现,和c#的字符串函数比起来简直弱爆了。boost库在头文件中提供了不少字符串处理函数,用以帮助我们实现基本的字符串处理功能,极大程度上缓解了字符串函数不够用的问题。 s
2015-09-21 17:01:10 527
转载 Qt getOpenFileName函数使用详解
Qt 打开文件的默认路径 QFileDialog::getOpenFileName()为了说明QFileDialog::getOpenFileName()函数的用法,还是先把函数签名放在这里:QString QFileDialog::getOpenFileName ( QWidget * parent = 0, const QStr
2015-09-21 11:02:57 27880 2
原创 Debian系统自定义配置ip和eth0。
在debian中,IP地址的配置参数在/etc/network/目录下的interface中,而DNS的配置参数在/etc目录下的resolv.conf中,下面是配置参数的说明IP地址设置: /etc/network/interface // 动态DHCP获得 # 启动系统激活设备 # Loop回环地址 auto lo iface lo inet l
2015-09-18 19:06:22 2054
原创 Unix 文件系统的核心目录总结
感觉这方面知识还是比较薄弱的,所以查些资料,做个简单的总结。 Unix核心目录结构如下图所展示: / 根目录中只包含文件结构的顶层所需要的那些目录。根目录下不必要的子目录会搅乱系统,使管理更加困难,而且根据系统的版本,可能还会占用系统分配给/的空间。bin 通常包含二进制(可执行的)文件,这些文件对系统的使用非常关键。它通常还会包含基本系统程序,如vi(用于编
2015-09-17 09:47:17 1445
原创 谈谈dynamic_cast函数。
dynamic_cast (expression)该运算符把expression转换成type-id类型的对象。Type-id 必须是类的指针、类的引用或者void*;如果 type-id 是类指针类型,那么expression也必须是一个指针,如果 type-id 是一个引用,那么 expression 也必须是一个引用。dynamic_cast运算符可以在执行期决定真正的类型。如
2015-09-14 10:05:33 419
原创 比较知名的用户空间文件系统
ExpanDrive: 商业文件系统,实现了SFTP/FTP/FTPS协议; GlusterFS: 用于集群的分布式文件系统,可以扩展到PB级; SSHFS: 通过SSH协议访问远程文件系统; GmailFS: 通过文件系统方式访问GMail; EncFS: 加密的虚拟文件系统 NTFS-3G和Captive NTFS, 在非Windows中对NTFS文件系统提供支持; W
2015-09-11 19:58:53 553
转载 linux 目录结构
使用linux也有一年多时间了 最近也是一直在维护网站系统主机 下面是linux目录结构说明 本人使用的是centos系统,很久没有发表博文了 近期会整理自己所用所了解知识点,发表linux相关的文章,记录自己的linux点点滴滴。 linux 目录结构 /: 根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/de
2015-09-09 16:40:07 226
原创 在Linux下开发环境的安装简单做个总结,包括:Qt,java,redis库,Hadoop,log4cpp,boost库,cmake。
昨天对于服务器上的开发环境进行了安装和配置,先把涉及到的记录下来。1、Qt安装(一般工作站都已经安装)Qt版本验证方法:查看版本:qmake–v说明:Qt是用来调取独立界面的程序,只需要在工作站上安装使用,计算服务器及其他服务器不用安装,一般情况下工作站上是安装好的,若版本不对应或未安装,可将其他机器上安装好的Qt目录放到相应文件夹下,刷新环境变量(root账户执行“sou
2015-09-09 08:57:35 592
转载 const在函数前与函数后的区别
一 const基础 如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = 500; const int* a = &b; [1] int const *a = &b; [2] in
2015-09-08 18:26:42 235
转载 C++ operator关键字(重载操作符)
operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通过函数的方式(c++中,“功能”都是由函数实现的)。 一、为什么使用操作符重载?对于系统的所有操作符,一般情况下,只支持基本数据
2015-09-08 11:04:00 220
转载 c++中map的使用详解说明
键值对 匹配1头文件#include2、map的功能 自动建立Key - value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次。 快速插入Key - Value 记录。 快速删除记录 根据Key 修改value记录。
2015-09-07 17:19:57 246
转载 C++标准库vector及迭代器
vector是同一种对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库将负责管理与存储元素相关的类存。引入头文件#include1.vector对象的定义和初始化[cpp] view plaincopyvector v1 vector保存类型为T的对象。默认构造函数,v1为空 vector v2(v1)
2015-09-07 09:18:36 415
转载 Qt QStringList的简单使用方法
从QList 继承而来,它提供快速索引为基础的接入以及快速插入和清除其成员函数用于操作这个字符串列表如append(),insert(), replace(), removeAll(), removeAt(), removeFirst(), removeLast(), and removeOne()等1. 增加字符串 可以通过append(),或使用 QString
2015-09-06 13:40:44 1173
转载 find_first_of()和 find_last_of()
string 类提供字符串处理函数,利用这些函数,程序员可以在字符串内查找字符,提取连续字符序列(称为子串),以及在字符串中删除和添加。我们将介绍一些主要函数。1.函数find_first_of()和 find_last_of() 执行简单的模式匹配 例如:在字符串中查找单个字符c。函数find_first_of() 查找在字符串中第1个出现的字符c,而函数find_last
2015-09-02 13:58:03 259
转载 C++ stringstream的用法
使用stringstream对象简化类型转换C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学习基于的类型 转换呢?也许对下面一个简单的例子的回顾能够说服你。假设你想用sprintf()函数将一个变量从int类
2015-09-01 16:05:55 282
原创 对于 插入排序的简单讨论
插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的数据中的适当位置上,直到全部插入完为止。 插入排序由N - 1 趟(pass)排序组成。对于P = 1趟到P = N趟,插入排序保证从位置0到位置P上的元素为已排序状态。插入排序利用了这样的事实:位置0到位置P - 1上的元素是已排序的。如下图所示:
2015-09-01 11:34:58 305
原创 Debian6.0 手动安装网卡驱动。凝思国产。
刚刚进入公司,师傅就安排我装双系统(win7+Linux),对我而言可是个不小的考验啊。。。废话不多说,下面就把我在安装此国产系统过程中遇到的问题抖一抖。首先我装的是win7和国产凝思科技产()的Linux操作系统。首先是在装好Linux后开机时找不到了,博主是用Linux引导Windows。以root身份# cat boot/grub/grub.conf
2015-08-28 15:41:23 4319 1
转载 C++缓冲区的知识
一、什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。二、为什么要引入缓冲区我们为什么要引入缓冲区呢?比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓
2015-08-21 13:44:44 499
转载 linux网卡驱动程序的编译与安装(转)
刚毕业的小菜鸟,师傅让我装双系统,在好不容易装好Linux后,网卡驱动一直装不上,无奈啊,查资料啊,个人感觉不错的一篇文章就贴出来分享。 linux网卡驱动程序的编译与安装(转) 分类: Linuxlinux网卡驱动程序的编译与安装(转)[@more@]一般来说,目前新版的 Linux 预设可以支持的网络卡芯片组数量已经很完备了,很多网络卡芯片都已经
2015-08-21 09:36:22 668
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人