03 2021 档案

摘要:Shell简介 shell用于解释执行用户的命令。 shell 2种执行方式: 用户输入一条,解释执行一条; 事先写一个shell脚本,包含多条命令,shell一次执行完毕,这种方式也叫批处理(batch); shell的多个版本: sh(Bourne Shell):Steve Bourne开发,各 阅读全文
posted @ 2021-03-29 20:55 明明1109 阅读(362) 评论(0) 推荐(0) 编辑
摘要:-o选项 编译并链接,生成可执行程序 $ gcc main.c -o main # 编译main.c,链接后生成可执行程序main -c选项 只编译,不链接 $ gcc -c main.c # 生成main.o目标文件 -g选项 编译、链接生成可执行程序,可执行程序包含调试信息。可以用于GDB调试。 阅读全文
posted @ 2021-03-26 23:12 明明1109 阅读(138) 评论(0) 推荐(0) 编辑
摘要:参考《Linux C编程一站式学习》 1. 基本规则 如要编译、链接main.c, stack.c, maze.c, 最终生成可执行文件main。 用手动输入gcc命令方式: $gcc main.c stack.c maze.c -o main 如果有单个文件修改,还执行上面的命令,会全部.c文件都 阅读全文
posted @ 2021-03-26 23:05 明明1109 阅读(239) 评论(0) 推荐(0) 编辑
摘要:Linux控制台输入 $ man open 出现的是openvt的信息,要怎么办? 可以为man命令添加-a选项,按q退出后输入open $ man -a open #该命令的含义是,可以分页显示所有可能的查找目标文档,再进行查询 man -a intro 正确执行时显示手册中包含的所有可用的 in 阅读全文
posted @ 2021-03-24 10:42 明明1109 阅读(562) 评论(0) 推荐(0) 编辑
摘要:1. 用户和权限 Linux规定了4种不同类型用户: 文件主 owner; 同组用户 group; 可以访问系统的其他用户 others; 超级用户 root,具体管理系统的特权,拥有所有权限; 用户有3种访问文件/目录的方式的权限类型:读权限 r,写权限 w,可执行/查找权限 x。只有用户具备对应 阅读全文
posted @ 2021-03-24 00:29 明明1109 阅读(346) 评论(0) 推荐(0) 编辑
摘要:本章介绍4个标准库设施:tuple, bitset, 随机数生成, 正则表达式。还有IO库具有一些特殊目的的部分。 17.1 tuple类型 头文件:tuple tuple 元组,类似于pair的模板。联系是pair的成员类型都可以不一样,区别是pair恰好有2个成员,而tuple可以有任意数量成员 阅读全文
posted @ 2021-03-23 17:18 明明1109 阅读(106) 评论(0) 推荐(0) 编辑
摘要:equal函数 equal也是C++ STL模板函数,用于比较指定的2个迭代器范围元素是否完全相等。 比较方式:==(判断相等的符号,要求迭代器指向元素支持),或者指定的谓词pred 返回值:只有[first1, last1)所有元素都与[first2, last2)所有元素都相等时,才返回true 阅读全文
posted @ 2021-03-22 15:35 明明1109 阅读(1543) 评论(0) 推荐(0) 编辑
摘要:1. static_assert static_assert静态断言,是C++关键字,作用是让编译器在编译期对常量表达时进行断言。如果通过,就不报错;如果不通过,就报错 用法: static_assert(常量表达式, 错误提示信息); 常量表达式的值为true或者false,或者可以转化为true 阅读全文
posted @ 2021-03-21 17:53 明明1109 阅读(686) 评论(0) 推荐(1) 编辑
摘要:delete有2个作用: 释放new分配的动态内存; 阻止编译器自动合成函数; 释放new分配的动态内存 delete需要与new配对使用,其参数可以是指向一块内存首地址或空指针(nullptr)。不能对同一块内存多次delete,但是可以对空指针多次delete。 注意delete和delete[ 阅读全文
posted @ 2021-03-18 10:33 明明1109 阅读(2459) 评论(0) 推荐(1) 编辑
摘要:提到const和constexpr,就需要引入常量表达式。常量表达式是指值不会改变,并且编译过程就能得到计算结果的表达式。 ⇒ 编译阶段就能得到值,并且不能改变。 const修饰对象无法修改,constexpr更侧重于修饰对象编译期确定且无法修改。具体区别,体现在以下两个方面: 修饰变量 const 阅读全文
posted @ 2021-03-17 16:28 明明1109 阅读(1473) 评论(0) 推荐(2) 编辑
摘要:右值引用和左值引用有什么区别? 右值引用,是只能绑定到右值的引用,通过&&获得,只能绑定到即将销毁的对象上(如字面量,临时计算结果,函数返回值,无名对象)。通过右值引用可以自由地移动绑定的资源。 返回右值的包括非引用类型的函数及算术、关系、位、后置递增/递减运算符。 右值引用的对象是短暂的,即将销毁 阅读全文
posted @ 2021-03-15 19:17 明明1109 阅读(514) 评论(0) 推荐(0) 编辑
摘要:12.1 动态内存与智能指针 new, delete运算符:动态申请,释放内存; 智能指针:shared_ptr,unique_ptr,weak_ptr,由标准库提供,头文件 memory 12.1.1 shared_ptr类 允许多个指针指向同一个对象。默认初始化的shared_ptr指针为空指针 阅读全文
posted @ 2021-03-11 13:58 明明1109 阅读(527) 评论(0) 推荐(0) 编辑
摘要:C++中,复制C风格字符串的方法有4种:strcpy, strncpy, strcpy_s, strncpy_s。它们有什么区别和联系了? 1. strcpy strcpy和strncpy是早期C库函数,头文件string.h。现在已经发布对应safe版本,也就是strcpy_s, strncpy_ 阅读全文
posted @ 2021-03-11 00:56 明明1109 阅读(5977) 评论(0) 推荐(1) 编辑
摘要:10.2 初识泛型算法 10.2.1 只读算法 find 头文件algorithm find 在指定迭代器范围种,查找目标元素。返回第一个出现目标元素的迭代器。 支持容器类型,也支持内置数组。要求元素支持“==”运算符。 // 1. 在list中查找指定元素 list<string> lst; // 阅读全文
posted @ 2021-03-04 19:02 明明1109 阅读(663) 评论(0) 推荐(0) 编辑
摘要:第9章 顺序容器 容器是指什么? 一个容器指的是一些特定类型对象的集合。 9.1 顺序容器概述 顺序容器,sequential container,提供了控制元素存储何访问顺序的能力,顺序取决于元素加入容器时的位置,与元素值无关。 标准库提供了3种容器适配器,分别为容器操作定义了不同的接口,来与容器 阅读全文
posted @ 2021-03-03 14:31 明明1109 阅读(217) 评论(0) 推荐(1) 编辑