- 博客(87)
- 资源 (19)
- 收藏
- 关注
原创 Effective C++ 读书笔记 条款23:宁以non-member、non-friend 替换 member 函数
Core List1. 相同行为的 member 和 non-member 实现class
2014-10-16 11:08:58
421
原创 Effective C++ 读书笔记 条款20:宁以pass-by-reference-to-const 替换 pass-by-value
Core List1. pass-by-value 相对于 pass-by-reference-to-const 的劣势(1) copy 效率低
2014-10-16 10:51:41
479
原创 Effective C++ 读书笔记 条款21:必须返回对象时,别妄想返回其reference
Core List1. 返回局部对象的引用(1) 返回 stack 局部变量int& compute(int a, int b) { int c = a + b; return c; // c 是局部变量,但函数调用结束时,空间即释放}int result = compute(a,b); // 这里 result 是一个函数 com
2014-10-15 10:55:33
462
原创 Effective C++ 读书笔记 条款21:必须返回对象时,别妄想返回其reference
Core List1. 返回局部对象的引用(1) 返回stack局部变量
2014-10-15 10:28:19
177
原创 Effective C++ 读书笔记 条款32:确定你的public继承塑模出is-a关系
Core List1. public 继承塑模is-a关系结论:每一个类型为D的对象同时也是一个类型为B的对象,
2014-10-11 23:54:47
443
原创 Effective C++ 读书笔记 条款36:绝不重新定义继承而来的 non-virtual 函数
Core List1. 重新定义 non-virtual 函数的问题public B {}
2014-10-11 22:51:48
408
原创 Effective C++ 读书笔记 条款22:将成员变量声明为private
Core List1. 将成员变量声明为 private 的好处(1) 语法一致性
2014-10-10 14:43:26
369
原创 Effective C++ 读书笔记 条款09:绝不在构造和析构过程中调用virtual函数
Core List1. 构造和析构函数中调用virtual函数
2014-10-09 22:13:22
484
原创 Effective C++ 读书笔记 条款12:复制对象时勿忘其每一个成分
Core List1. 拷贝构造函数和赋值构造函数(1) 拷贝构造函数(2) 赋值
2014-10-09 17:06:43
402
原创 Effective C++ 读书笔记 条款16:成对使用new和delete时要采取相同形式
Core List1. new 和 delete 的实现过程 new :
2014-10-09 13:43:58
416
原创 Effective C++ 读书笔记——条款02:尽量以const,enum,inline替换#define
Core List :1. const 和 #define(1) 语法 #define sum 100 【define详细用法见附1】 const int sum = 100; const char* const name = "Boxi"; const std::string name("Boxi");【定义常量字符串时,使用string优于con
2014-09-03 11:37:04
429
原创 Effective C++ 读书笔记 —— 条款2:尽量以const,enum,inline替换#define
Core List :1. const 和 #define(1)语法#define sum 100
2014-09-03 10:31:47
175
转载 Linux 下svn恢复到某一版本
经常由于坑爹的需求,功能要切回到之前的某一个版本。有两种方法可以实现:方法1: 用svn merge1) 先 svn up,保证更新到最新的版本,如20;2) 然后用 svn log ,查看历史修改,找出要恢复的版本,如10 。如果想要更详细的了解情况,可以使用svn diff -r 10:20 [文件或目录];3) 回滚到版本号10:svn merge -r 20
2014-02-26 17:15:34
5980
转载 统计单词出现次数
grep 'Down_File' 1.test | wc -l 统计包含某单词的行数grep -c 'Down_File' 1.test 统计包含的单词数
2014-02-07 15:58:35
498
转载 linux 如何显示一个文件的某几行(中间几行)
【一】从第3000行开始,显示1000行。即显示3000~3999行cat filename | tail -n +3000 | head -n 1000 【二】显示1000行到3000行cat filename| head -n 3000 | tail -n +1000 *注意两种方法的顺序 分解: tail -n 1
2014-02-07 15:52:50
642
转载 linux删除重复行
文本处理时,经常要删除重复行,下面是三种方法 第一,用sort+uniq,注意,单纯uniq是不行的。sort -n test.txt | uniq 第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。sort -n $file | awk '{if($0!=line)print; line=$0}' 第三,用sort+
2014-01-21 20:02:01
563
转载 Linux – cannot remove owned file with 777 permissions
ls -altotal 12dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .drwxr-xr-x 3 rayell pg1083760 4096 2011-09-02 04:33 ..-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 default.settings.phpdr
2014-01-14 17:37:06
1679
转载 C/C++中const关键字
今天在做一个趋势笔试题的时候,才让我有了系统把const关键字好好总结一下的冲动,因为这个关键词大大小小好多地方都出现过,出现频率非常高,而每次只是简短的把答案看了一下,没有真正将其整个用法弄透,马上要找工作了,为避免悲剧再次发生,不得不引起我的重视,这才有了这篇博文。 首先,一看到const关键字,我们的第一反应就是定义常量。的确,这没有错,const就是constant的缩写嘛,
2013-11-03 16:17:39
538
转载 char a[0]
typedef struct { int head; int size; //指明整个包的长度 char reply; char data[0];} packet;packet* cmd = malloc (sizeof(packet) + 20);memcpy (packet
2013-10-30 16:54:01
1369
转载 Linux 文件映射mmap,Bus Error
当创建一个普通文件,然后映射到虚拟地址空间,出现bus error,代码如下:代码1 #define FILE_LENGTH 0x1000 2 int fd = open("test", O_RDWR | O_CREAT); 3 char *fm = (char*)mmap(NULL, FILE_LENGTH, MAP_READ | MAP_WRITE, MS_PRIVAT
2013-10-22 14:02:23
2043
转载 errno的一些错误定义
#define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define E
2013-10-22 12:01:02
816
转载 extern变量调用报错
前一段时间在应用extern变量时报错,今天花点时间来理清一下extern 的功能很多,我想今天先理清一个问题,那就是extern 变量的声明和定义之间的关系。 extern 可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其它模块中寻找其他定义。另外extern 也可以用来进行链接指定。extern定义变量1.使用extern 声明全局
2013-10-17 17:07:11
1146
转载 解决 multiple definition of
总结了解决multiple definition of的方法:问题原因: 当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译#ifndef TEST_H#define TEST_H#endif就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时,就会将工程中所有的符号整合在一起,由于,文件中有重名变量,于是就出现了重复定义的错误。 方法
2013-10-17 17:03:45
801
转载 在Qt中会一不小心遇到一个编译错误:"undefined reference to `vtable for...", 如果你是第一次遇到这种问题还真不知怎么办?到网上一搜,很多什么关于解决这个错误的总
在Qt中会一不小心遇到一个编译错误:"undefined reference to `vtable for...", 如果你是第一次遇到这种问题还真不知怎么办?到网上一搜,很多什么关于解决这个错误的总结,也不一定顶用。我昨天遇到这个问题,找大半天,也按网上所说的方法做了就是不行。结果原来错误我的子类的一个虚函数声明了,而在.cpp文件中没有实现代码。 比如: class QPa
2013-10-17 17:02:55
1154
转载 “multiple definition of ”
“multiple definition of ”我把所有的全局变量写在一个global.h里,然后其他文件都include 了它 ,于是出现了 multiple definition of .....(gcc 编译器 )我的代码结构main.cpp#include "global.h"WinMain(....){...}f
2013-10-17 17:01:34
532
转载 C++ 堆结构(数组实现)
要说最大堆和最小堆,就得先知道最大树和最小树。每个结点的值都大于(小于)或等于其子节点(如果有的话)值的树,就叫最大(最小)树。最大堆(最小堆)是最大(最小)完全树。由于堆是完全二叉树,所以可以用公式化描述,用一维数组来有效的描述堆结构。利用二叉树的性质:如果对一棵有n个结点的完全二叉树的结点按层序编号(从第1层到第[log2n]向下取整+1层,每层从左到右),则对任一结点i(
2013-10-09 10:14:56
446
转载 C++类构造函数初始化列表
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:class CExample {public: int a; float b; //构造函数初始化列表 CExample(): a(0),b(8.8) {} //构造函数内部赋值 CExampl
2013-10-08 10:27:12
362
转载 crontab
crontab是什么 cron命令 前面介绍的两条命令都会在一定时间内完成一定任务,但是要注意它们都只能 执行一次。也就是说,当指定了运行命令后,系统在指定时间完成任务,一切就结束了。但是在很多时候需要不断重复一些命令,比如∶某公司每周一自动向员工报告头一周公司的活动情况,这时候就需要使用cron命令来完成任务了。实际上,cron命令是不应该手工启动的。cron命令在系统启动时就由一个
2013-09-13 15:10:31
744
转载 MySQL中快速复制数据表方法汇总
本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表。 这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表。示例如下:将 production 数据库中的 mytbl 表快速复制为 mytbl_new,2个命令如下:CREATE TABLE mytbl_new LIKE production.mytb
2013-09-10 15:52:40
471
转载 VIM查看文件编码 文件编码格式转换 文件名编码转换.
如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileenco
2013-08-21 16:21:58
421
转载 perl的LWP模块简单介绍
LWP::Simple 功能1. 如何在Perl中使用该模块?use LWP::Simple;2. 如何获取一个页面内容?my $content = get(’http://www.yahoo.com.cn’);get函数把从www.yahoo.com.cn上获取得页面内容全部赋给$content这个变量,如果获取失败将返回一个u
2013-08-04 05:22:07
506
转载 perl取文件大小 .
perl取文件大小my @args = stat ($filename);my $size = $args[7];stat()函数返回一个数组。下面是数组各元素的含义。0 dev 设备号 驱动器号(C:通常是2,D:通常是3,等等)1 ino 索引节号 总是02 mode 文件的方式 无3 nlink 链接号 通常为0;Windows NT;文件系统允许链接4
2013-07-31 13:43:56
570
转载 perl中字符串比较
之前看教程时看到过,但看完就无视了,写程序时不等于还是用的!=。 Apache虽然检查到错误,但只写在了错误日志里,还是继续执行了后面的语句,结果是无视了这个比较,跳过了一个$condition变量的赋值,而后面又是用这个$condition作为数据库查询的条件,本来只返回几百条的查询,返回了整个数据库的上千万条记录,拖垮了服务器。联系OP重启,结果reboot命令也卡住没响应,最后只能
2013-07-31 13:22:10
811
转载 PERL 中引用
在perl4中,hash表中的value字段只能是scalar,而不能是list,这对于有些情况是很不方便的,比如有下面的数据:Chicago, USAFrankfurt, GermanyBerlin, GermanyWashington, USAHelsinki, FinlandNew York, USA我们想要按国家将城市分类,每个国家后面对应城市列表,如果用per
2013-07-30 15:15:34
466
转载 linux下md5sum的使用
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5全称是报文摘要算法(Message-Digest Algorithm5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。在linux或Unix上,md5sum是用来计算和校验文件报文摘
2013-07-29 14:55:45
373
转载 2009-07-24 14:17 PERL 语言中的q,qw,qr,qx,qq (zz
PERL 语言中的q,qw,qr,qx,qq......符号用法总结在perl语言中,有两个特殊而常用的符号qq qw,分别解释如下:qq{foobar}的意思为意思为双引号字符串,可内插变量相当于 "foobar"qw{foo bar}的意思为用空格分解字符串,得到列表,相当于如下语句split(' ','foo bar') 得到的结果是'foo','bar'字符串比
2013-07-29 10:06:00
1135
c语言多进程多线程编程.pdf
2012-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人