- 博客(39)
- 资源 (3)
- 收藏
- 关注
原创 安装linux 压缩软件
rar和7z都是出自Uindows的一种压缩格式,目前在Ubuntu下默认是无法解压缩,那我们现在在Ubuntu 12.10中如何使系统支持它们呢?安装 7zip :sudo apt-get install p7zip安装 rar:sudo apt-get install rar
2013-11-22 13:57:20 867
转载 编译Boost——Linux
相对于Windows来,Linux下的boost编译简单至极。没有那么多的可选编译器,没有那长的编译时间,没有那么多的硬盘使用量,统一的inlude和lib目录,你熟悉命令行,不使用IDE,不需要我那么罗嗦的介绍怎么配置EditPlus。首先是下载boost,可以在此http://sourceforge.net/projects/boost寻找一个合适的版本。比如我下载的是boos
2013-11-22 12:03:50 1028
原创 strcmp函数的实现
int strcmp(const char *str1,const char* str2){ while(str1!=NULL&&str2!=NULL); { while(*str1++==*str2++) { if(*str1=='\0'&&*str2=='\0') return 1; } return -1;//不等的情况 } return -2;//
2013-11-21 20:23:11 989
转载 C++实现strcpy字符串拷贝函数
转载于http://blog.csdn.net/yushuai007008/article/details/7626569C语言标准库函数—strcpy(),字符串拷贝 原型声明:extern char *strcpy(char *dest,const char *src); 头文件:string.h 功能:把从src地址开始且含有‘\0’结束符的字符串赋值到以dest开
2013-11-21 20:13:18 7766
转载 c++修改文件(夹)的用户访问权限程序代码
一般Windows下的系统文件(夹)只让受限帐户读取而不让写入和修改。如果要开启写操作权限就需要手动修改文件(夹)的用户帐户安全权限(这操作当然要在管理员帐户下执行).以下用程序封装了一下该操作: 先来个API版本: // // 启用某个账户对某个文件(夹)的所有操作权限 // pszPath: 文件(夹)路径 // pszAccount: 账户名称 //
2013-11-21 20:03:50 6469 1
原创 C++ 向文件中写入一组数据
/* * main.cpp * * Created on: Nov 21, 2013 * Author: yanzefeng */#include #include #include #include #include using namespace std;struct Employee{ std::string name; std::string
2013-11-21 19:46:18 2890
原创 C++从一个文件中统计所有出现过的单词,并按次数从大到小输出
#include #include #include #include #include using namespace std;int main(){ ifstream input; input.open("word.txt"); string eachline; map mapA; //第一个存单词,第二个存单词出现的次数; while (getline(inpu
2013-11-21 17:15:23 5065 1
转载 C++ 智能指针
namespace smart{ // 引用计数类. class smart_count { public: smart_count(int c = 0) : use_count(c) {} ~smart_count() {} // 增加引用计数, 并返回计数值. int addref() { return ++use_count; } // 减少引用计数, 并返回
2013-11-21 14:48:41 848
转载 ubuntu下安装Apache+PHP+Mysql
转载自:http://www.comflag.com/2011/05/01/apache-web.htm电影《社交网络》中,facebook创始人马克.扎克失恋后入侵哈佛大学宿舍楼服务器,窃取数据库资料,并在两个小时内完成了一个给校内女生评分的交互网站,该网站一天内点击数过10W,直接导致学校服务器崩溃。。。。。。其实,构建那样一个网站并不需要很多高深的技术,任何一个有一定网络编程基础
2013-11-20 17:39:39 878
原创 ubuntu mysql安装和用户登录
ubuntu mysql安装和用户登录 安装MySQL要安装 MySQL,可以在终端提示符后运行下列命令: sudo apt-get install mysql-server mysql-client #中途会让你输入一次root用户密码sudo apt-get install php5-mysql #安装php5-mysql 是将php和mysql连接起来一旦安装完
2013-11-20 17:29:06 1055
原创 C++ 字符传分割 str_split
#include #include #include using namespace std; void str_split(const string& input, const string& delimiters, vector& results) { string::size_type pos; size_t size=input.size(); for(siz
2013-11-20 17:13:17 2974
原创 C++ 输入年月,打印出这个月的日历
#include#includeusing namespace std;//1900年1月1号是星期一int nyear(int year)//判断是平年,还是润年{ if(year%400==0||(year%4==0&&year%100!=0)) return 366; else return 365;}int nmonth(int m,int y)
2013-11-20 15:35:54 17290 1
转载 STL迭代器简介
STL迭代器简介标准模板库(The Standard Template Library, STL)定义了五种迭代器。下面的图表画出了这几种: input output \ / forward |
2013-11-20 11:22:37 864
原创 指针为什么可以当迭代器用
从本质上来说指针是不能当迭代器来使用的;因为指针这种类型内部中并没有包含迭代器所需要的5种内部类型但指针之所以可以迭代器使用是,他是通过iterator-trait这个模板类进行模板特化,把这个指针进行包装成一个迭代器,而这个迭代器就具有我们之前所说的五种内部类型;
2013-11-20 11:20:26 1551
转载 C++中缀转后缀表达式
将一个普通的中缀表达式转换为后缀表达式的一般算法是: 首先需要分配2个栈,一个作为临时存储运算符的栈S1(含一个结束符号),一个作为输入后缀表达式的栈S2(空栈),S1栈可先放入优先级最低的运算符#,注意,中缀式应以此最低优先级的运算符结束。可指定其他字符,不一定非#不可。从中缀式的左端开始取字符,逐序进行如下步骤: (1)若取出的字符是数字,则分析出完整的运算数,该运算数直接送入
2013-11-16 15:33:00 1758
转载 C++ 数据结构 堆
堆常用来实现优先队列,在这种队列中,待删除的元素为优先级最高(最低)的那个。在任何时候,任意优先元素都是可以插入到队列中去的,是计算机科学中一类特殊的数据结构的统称一、堆的定义最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。大顶堆是一棵完全二叉树,同时也是一棵最大树。小顶堆是一棵完全完全二叉树,同时也是一棵最小树。注意:堆中任一子树亦是堆。
2013-11-15 20:06:05 954
原创 我的Elicpse C++IDE问题解决设置
#!/usr/bin/env xdg-open 2 [Desktop Entry] 3 Name=Eclipse CDT 4 Comment=Eclipse CDT 5 Exec=env UBUNTU_MENUPROXY= /home/yanzefeng/soft/eclipse/eclipse 6 Icon=/home/yanzefeng/soft/eclipse/
2013-11-15 20:00:53 1084
原创 hash表 散列表
#include#include#include#include #define MAXSIZE 20 //电话薄记录数量 #define MAX_SIZE 20 //人名的最大长度#define HASHSIZE 53 //定义表长 #define SUCCESS 1#define UNSUCCESS -1#define LEN sizeof(HashTabl
2013-11-14 17:59:26 1188 1
原创 linux系统在桌面建立快捷方式
yanzefeng@qingtian:~$ cd Desktop/yanzefeng@qingtian:~/Desktop$ lsCC++ 函数参考 .chm Untitled Document~ 笔记 笔记8~C+++Library+Reference.chm 基本算法练习题 笔记10~ 笔记9~codes
2013-11-13 19:10:14 1124
原创 C++ 异常处理 - 资源管理
使用构造函数和析构函数 局部非静态对象(自动对象),在程序进入其声明处初始化(构造),出了该对象所在的作用域自动销毁(析构),这就是 RAII 的基础支撑 通过正确构造,一定能正确销毁(销毁工作一般由编译器隐式完成),成功构造后,即使随后发生异常,在 stack unwinding过程中也会正确调用析构函数 如果一个对象没能正确构造,那么其析构函数不会调用资源
2013-11-13 17:31:41 864
原创 C++ 异常处理
#include using namespace std;struct BaseException { virtual void foo() { cout << "BaseException::foo()\n"; } int n;};struct DerivedException: BaseException { DerivedException() { } vi
2013-11-13 17:29:11 778
原创 模板指针之间的转换
#include using namespace std;templatestruct Ptr { Ptr(T* p1) : p(p1) { } template operator Ptr() const;private: T* p;};templatetemplatePtr::operator Ptr() const { return Ptr(p);}s
2013-11-13 17:17:24 1568
原创 C++ 模板全特化中的函数特化
#include using namespace std;templatebool isLess(T x, T y) { cout << "general version\n"; return x < y;}template<>bool isLess(int* x, int* y) { cout << "specialization version\n"; return *
2013-11-13 17:09:48 2450
原创 C++ 函数运行期和编译期运行
#include using namespace std;int fact(int n) { return n < 1 ? 1 : n * fact(n - 1);}templatestruct Fact { static const int value = N * Fact::value;};template<>struct Fact { static const
2013-11-13 17:07:37 1628
原创 泛型编程 - 用模板参数指定策略
模板参数指定策略示例:标准库函数 sort()●使用第二个模板参数 ( 比较器 ) 来指定比较的规则(如:降序或升序排列)#include #include using namespace std;void print(int* ar, size_t len) { for (size_t i = 0; i < len; ++i) cout << ar[i] << '
2013-11-13 16:50:12 816
原创 类模板中的函数模板的定义和调用(不是模板类中的普通成员函数)
#include using namespace std;templatestruct A { virtual void foo(); // error: templates may not be ‘virtual’ template /* virtual */ void bar();};templatevoid A::foo() {}templatetempl
2013-11-13 16:44:17 2848
原创 函数模板特化的一些问题
#include using namespace std;templateT my_max(T a1, T a2) { return a1 > a2 ? a1 : a2;}int main() { my_max(100, 102); // my_max(1, 'c'); // Error no matching function for call to ‘my_max(int
2013-11-13 16:42:22 992
原创 泛型编程 - 使用 typename 标识类型
typename 的使用在下面的函数模板的定义中,必须在 Array::const_iterator前加上 typename ,否则该名字 const_iterator 将被当作是类Array 的一个 public 静态成员#include using namespace std;templatestruct A { typedef int int_type;
2013-11-13 16:29:25 1392
原创 模板特化和模板偏特化
#include #include using namespace std;enum Color { R = 1, G = 2, B = 4};namespace std {/*template<>struct numeric_limits { static Color max() { return B; } static Color min() { ret
2013-11-13 16:24:50 826
原创 自己动手写STL中的vector
M0313-array_class_template.h#ifndef DYNAMIC_ARRAY_H_#define DYNAMIC_ARRAY_H_#include #include struct A { A(int n = 0): i(n) { printf("A(%d)\n", i); } ~A() { printf("~A(%d)\n", i); } i
2013-11-13 16:20:09 1445
原创 通过外网来访问自己的家里电脑
首先通过QQ邮箱找到发邮件的公网IP(比如是65.55.116.40);然后一种方法是把家里的内部局域网电脑IP(比如说是192.168.1.106)固定,在路由器中进行端口映射比如8818端口映射你的电脑IP,然后通过外网访问65.55.116.40:8818端口就是访问你的电脑啦,另一种方式是不固定你的内部局域网IP,在路由器设置时进行主机名映射,把你的电脑主机名和外网映射
2013-11-12 17:59:52 16847
转载 路由器端口映射设置方法图解
本文就以TD-W89841N无线路由器为例做一个端口映射80端口号和映射3389端口号为例,希望能帮到局域网内想使用路由器做端口号映射到自己电脑的网友一个帮助。工具/原料 路由器电脑方法/步骤 1打开浏览器,在浏览器地址栏中输入网关地址回车之后即可打开连接到路由器的登录界面,输入路由器登录用户名和密码
2013-11-12 17:24:04 1627
原创 ubuntu系统做启动盘既之后安装一些软件
在ubuntu系统下有个专门做启动盘的软件叫 startup disk create 安装后装一些软件sudo apt-get install build_essential ->g++ gdb makeopenjdk-7-jre JAVA环境vimsshchmsee; //电子书软件
2013-11-11 18:31:25 783
转载 c++ 函数返回引用
一,c++函数的返回分为以下几种情况 1)主函数main的返回值:这里提及一点,返回0表示程序运行成功。2)返回非引用类型:函数的返回值用于初始化在跳用函数出创建的临时对象。用函数返回值初始化临时对象与用实参初始化形参的方法是一样 的。如果返回类型不是引用,在调用函数的地方会将函数返回值复制给临时对象。且其返回值既可以是局部对象,也可以是求解表达式的结果。3)返回引用:当函数返回引
2013-11-07 17:24:18 789
原创 linux系统安装 FLASH插件
sudo apt-get install aptitude 先安装这个sudo aptitude search flashplayer 然后安装这个FLASH插件, 可能没有sudo aptitude search flash 查找FLASH相关的sudo ape-get install flashplugin-installer //最后安装这个FLASH插
2013-11-07 17:10:41 893
原创 ubuntn系统的语言切换 就是用Ctrl+ spacew切换语言栏
点击右上角的语言,右键-》text entry setting 在switch to next source using 中 点击一下 然后设置一下,填入Ctrl+ space(就是按一下那两个键就可以啦);
2013-11-07 12:29:33 1002
原创 ubuntu 系统安装 分盘,和显卡驱动安装
一共装四个区/boot ext3 256MB 系统引导分区/ ext4 30G 装系统的分区/home ext4 130G 我们的存的一些资料swap swap 2G 交换分区 做虚拟内存用的对于双显卡驱动 的安装 就一个命令kwarph@xuanyuan-soft03:~$ s
2013-11-07 12:23:49 1394
原创 C++ 放置式new操作符
void* p=::new operator(sizeof(Buffer)); //创建一块内存;Buffer* bp= start_cast(p); //指针进行装换Buffer* buf3=new(bp) Buffer(128); //把bp指针指向的内存租借buf3,buf3->put('c');buf3->~Buffer(); //这里析够函数要
2013-11-06 12:11:03 1301
redis设计与实现(第二版) 带目录
2017-09-01
redis-3.0注释版源码
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人