随笔分类 - 实习——百度
摘要:以下命令是平时经常用到的命令。 而且这些用法也是很常见的用法。 1. 将当前目录下的所有.c、.h文件中的str1字符串替换为str2字符串。
阅读全文
摘要:map经常把指针作为key,这种情况下。 我们经常会很自然的以为,如果要取元素时,会按照我们存的顺序拿到元素。 但是事实上不是这样的,因为map取得时候是按key的大小排序的,而如果用指针作为key,那么指针的大小就是很难预估的。 所以在用指针做为容器key时要额外注意。
阅读全文
摘要:【转自】here 编写程序不容易,编写多线程的程序更不容易。相信编写过多线程的程序都应该有这样的一个痛苦过程,什么样的情况呢?朋友们应该看一下代码就明白了, 上面的代码说明了一种情形。这种多线程的互斥情况在代码编写过程中是经常遇到的。所以,每次对共享数据进行操作时,都需要对数据进行EnterCrit
阅读全文
摘要:for (auto i : b) Fuck(i); 是 for (auto bitch = std::begin(b); bitch != std::end(b); bitch++) { auto temp = *bitch; Fuck(temp); } 的缩写 (来自知乎)
阅读全文
摘要:【转自 here】 在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration)。下面的程序中,带注释的那行就是类B的前置说明。这是必须的,因为类A中用到了类B,而类B的声明出现在类A的后面。如果没有类B的前置说明,下面的程序将不同通过编译,编译器将会给出类似“缺少类型说明
阅读全文
摘要:定义: 当一个类B成为了另外一个类A的“朋友”时,那么类A的私有和保护的数据成员就可以被类B访问。我们就把类B叫做类A的友元。 用法: 在A类中加入: 下面这个程序说明了友元类与友元派生类的权限。
阅读全文
摘要:这就是一个纯虚析构函数,这种定义是允许的。 一般纯虚函数都不允许有实体,但是因为析构一个类的过程中会把所有的父类全析构了,所以每个类必有一个析构函数。 所以。纯虚析构函数需要提供函数的实现,而一般纯虚函数不能有实现
阅读全文
摘要:做项目的过程中,碰到一个问题。 问题可以抽象为下面的问题: 普通人吃饭拿筷子,小孩吃饭拿勺子。 输出结果: 当然这也符合我们的预期。 因为people不是虚函数,所以上述程序调用的是people中的eat方法,这就涉及到一个之前我一直模糊的概念,在一个类方法中调用虚方法,是如何调用的。 这又涉及到之
阅读全文
摘要:将当前目录下的所有.c、.h文件中的str1字符串替换为str2字符串。 参数解释: sed:-i 表示操作的是文件,``括起来的grep命令,表示将grep命令的的结果作为操作文件s/"str1"/"str2"/表示查找str1并替换为str2,后面跟g表示一行中有多个str1的时候,都替换,而不
阅读全文
摘要::[range]s/from/to/[flags] range:搜索范围,如果没有指定范围,则作用于但前行。 :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换; :10s/from/to/ 表示只在第10行搜索替换; :%s/from/to/ 表示在所有行中搜索
阅读全文
摘要:上述命令不一定有用。 大概了解下文件编码,和vim里面的编码情况。 1 字符编码基础知识 字符编码是计算机技术中最基本和最重要的知识之一。如果缺乏相关知识,请自行恶补之。这里仅做最简要的说明。 1.1 字符编码概述 所谓的字符编码,就是对人类发明的每一个文字进行数字化表示。最经典的ASCII编码就
阅读全文
摘要:c++程序运行的入口是::main 如果把main放到某个命名空间中,则系统就无法找到入口。 所以就有了为了测试功能的tools和test,其中没有命名空间。
阅读全文
摘要:std::string 表示std命名空间下的 string类。直接::开始,表示顶层命名空间(全局变量)std::string -> ::std::string 这样也可以。::和 文件路径的 / 可以对照理解。linux下面没有盘符之分。 只有一个盘,所以也就没有C,D,E,F这种了。/usr/
阅读全文
摘要:手贱命令写错了,直接把一个目录下的文件全删了,用下面的方法虽然恢复了,但是还是有几个文件没有找回来。。。(可以找回,但是要在另一个盘进行操作) 如果不小心用rm –rf xxx删除了文件或目录,在ext2文件系统上是可以恢复的,但需要满足以下3个基本条件: 满足了以上3个条件就可以开始动手恢复了。被
阅读全文
摘要:Linux的静态库是以.a结尾的,要连接静态库有两种方法,一种是在编译命令最后直接加上库路径/库名称。 例如你的库在绝对目录/lib/libtest.a下面你就可以这样来编译$(CC) $(CFLAGS) $^ -o $@ /lib/libtest.a 另外一种方法是,你可以用-L制定库的目录,用-
阅读全文
摘要:需要在日志文件统计删除的主帖,而日志文件是tab(退格)字符隔开的;假设日志文件名叫delete.log。 保存格式和保存的数据如下, 删除日期 帖子类型(11为主帖,12为回帖) 帖子id 操作人id 2011-11-01 00:05 12 71163578 1153089 2011-11-01
阅读全文
摘要:Linux 命令行快捷键 涉及在Linux命令行下进行快速移动光标、命令编辑、编辑后执行历史命令、Bang(!)命令、控制命令等。让basher更有效率。 常用 ctrl+左右键:在单词之间跳转 ctrl+a:跳到本行的行首 ctrl+e:跳到页尾 Ctrl+u:删除当前光标前面的文字 (还有剪切功
阅读全文
摘要:file1. 1 2 2 3 3 4 4 5 5 6 file2. a b b c c d d e e f 需要把file2的第二列合并到file1,使File1并成三列. 第一种方法:paste
阅读全文
摘要:在用开发机的时候: 当命令很长的时候,一个个字符移动太低效了。可以使用home直接到行首,ctrl+E到行尾。 常用命令: 文件和目录: # cd /home 进入 '/home' 目录 # cd .. 返回上一级目录 # cd ../.. 返回上两级目录 # cd - 返回上次所在目录 # cp
阅读全文
摘要:功能:ln命令为某一个文件在另外一个位置建立一个同步的链接。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以。链接可分为两种:硬链接(hard link)与软链接
阅读全文