川川的博客

Thinking will not overcome fear but action will.

C++多态

多态 虚函数重写 1.满足多态的条件:指向哪个对象就调用它的虚函数 2.不满足多态的条件:对类型有关,调用的类型是谁,就是谁的成员

Linux05系统编程

Linux系统编程 man man帮助手册 man 2 fopen() 注意: 指针类型的返回值,主调函数需要释放内存 系统调用返回值不实现功能,只用来处理报错 指针类型的参数,主调函数开辟空间把地址做参数传递 文件 文件类型: 普通文件 目录文件 软链接 字符设备文件 鼠标 块设备文件 磁盘 管...

C++继承

继承 class Person { protected: string _name; int _age; }; class Student : public Person { protected: int _stuid;//学号 }; class Teacher : public Person { protected: int _jobid;//工号 }; 继承访问...

C++模板进阶

模板进阶 类型模板参数 template<class T> //template<typename T> class A {}; 非类型参数 //#define N 100 template<class T,int N> classs Array { public: private: T _a[N]; }; int main() { ...

Linux04文件操作

文件 目录操作 获取当前工作目录 #include <unistd.h> char *getcwd(char *buf, size_t size); #include <func.h> int main(void) { // char buf[10]; // 由系统调用malloc,动态申请内存空间 char* cwd = ge...

Linux03编译工具

编译工具链 预处理 -》》 编译 -》》 汇编 -》》 链接 展开头文件 检查语法 生成二进制 宏替换 生成汇编 去掉注释 条件编译 -E预处理 -S -c生成目标文件 gcc -c hello.c //生成hello.o目标文件 gcc hello.o -o hello gcc hello.c -o hello //直接运行 GCC其他选项 ...

C++stack&queue

stack stack/queue/priority_queue 容器适配器 都不支持迭代器遍历,因为他们都包含特殊性质FILO,FIFO 容器: std::deque 双端队列 string/vector/list/deque (序列式容器) 迭代器: iterator / const_iterator / reverse_iterator / const_rev...

Linux02 Linux简介&常用命令

Linux Linux体系结构 ==》内核 -》系统调用-》应用层 内核管理硬件资源(内存管理,进程调度,文件管理,网络通讯,设备驱动……) 系统调用:内核给上层应用提供的接口 库函数:通常把系统调用封装成库函数(malloc, printf,) shell是一个命令解释器 命令:一些简单的可执...

Linux01 Vim

VIM编辑器 短命令 删除:x删除一个字符 dw dj d^删除到行首 d&删除到行尾 dd删除一行并复制 2dd(d2d) dt) dt” 复制:yy复制一行 yw yt) yt” 粘贴:p光标后(或下一行) P光标前(上一行) 撤销:u 恢复上一步:ctrl+r 修改:cc删除当前行并进入编辑 cw c...

C++list

list 面试题:为什么会有list? vector缺点: vector头部和中部插入删除数据效率低,需要挪动数据O(N) vector插入数据空间不够需要增容,会付出很大代价(开新空间,拷贝数据,释放就空间) 优点:支持下标随机访问,间接支持排序,二分查找,堆算法等 list优点: list头部和中部插入删除数据不需要挪动,效率高O(1) list插入数据...