C++
文章平均质量分 66
丶星下灯
此人很水
展开
-
C语言中命令行工具 (getopt和getopt_long)
1. char* optarg:正在解析的选项的参数2. int optind:指向下一个选项的索引3. int opterr:非0时会将错误信息打印在stdout上4. int optopt:若一个选项在argv中,但不在选项字符串中时,或者一个带参数的选项没有参数时,getopt()会返回字符?,同时将optopt设为该选项原创 2023-03-31 10:47:25 · 442 阅读 · 1 评论 -
C++中函数对象、内建函数以及STL常用的标准算法
先理解一下什么是谓词仿函数的返回值类型是bool数据类型,称为谓词,其中仿函数的形参有一个就是一元谓词,两个就是二元谓词代码演示:函数对象函数对象就是仿函数1、函数对象在使用时可以有参数也可以有返回值2、函数对象超出普通对象的概念,函数对象可以有自己的状态3、函数对象可以做参数传递代码演示:内建函数内建仿函数(STL已经写好的仿函数,需要引入#include头文件代码演示:算数仿函数1、negate 一元仿函数 算数仿函数2、plus 二元反函数 取反仿函数使用内建函数需要引原创 2022-06-07 20:56:31 · 218 阅读 · 0 评论 -
C++STL基础——各个容器的用法
1、构造2、赋值操作3、大小操作4、遍历方式1:通过迭代器访问方式2:利用STL提供的for_each5、插入和删除操作6、数据存取7、互换操作swap的用途:内存收缩8、预留空间string1、构造2、赋值操作3、拼接操作4、字符串的查找和替换5、字符串的比较6、字符串的字符存取[] 的重载 at()成员函数7、插入和删除8、子串截取stack 栈1、构造与赋值2、栈的接口栈不允许有遍历操作set与multisetset 与 multiset的区别:1原创 2022-06-06 16:17:58 · 311 阅读 · 0 评论 -
C++多态基础
什么是多态所谓多态就是一种事务的多种表现状态,比如说一条狗,通过它的毛色区分可以是黄狗,黑狗,白狗等等,这就是狗的多态。那么在C++代码中怎么体现多态呢。多态在C++中的表现多态分为静态多态和动态多态静态多态: 函数重载 和 运算符重载都属于 静态多态,复用函数名动态多态: 派生类和虚函数实现动态多态(也就是父类指针或引用指向子类实例化对象)两者的区别静态多态 函数的地址 早 绑定,编译时期就已经确定了函数地址。动态多态 函数的地址 晚 绑定,运行时确定函数地址动态多态的满足条原创 2022-05-16 19:11:30 · 250 阅读 · 0 评论 -
C++中的static、const与类、成员变量成员函数分开存储
static都知道static在C语言中的作用,这里回顾一下:static修饰局部变量时会延长变量的生命周期。static修饰全局变量和函数时 对外部隐藏,只能在本文件访问。static修饰的变量只能初始化一次,不初始化时默认值为0.那么C++中static有哪些特性呢?首先应该知道C++是完全兼容C的,所以static在C中的特性可以延用。但是C++中的static与类搭配使用时会有一些新操作。static修饰成员变量static 修饰成员变量在编译时期分配内存空间。class P原创 2022-05-11 20:51:22 · 320 阅读 · 0 评论 -
网络编程之IO多路复用
首先了解一下什么是流,什么是I/O可以进行I/O操作的内核对象。比如文件,管道,套接字等都会有流的概念。流的入口一般是文件描述符,在Linux中一切皆文件。文件的读写需要通过流来进行,而对流的读写操作即为I/O阻塞在处理问题时我们一般选择阻塞的方式,节省CPU资源。但不是绝对的。阻塞等待:此期间不占用CPU的时间。非阻塞轮询:所谓轮询是指不停的询问,占用CPU资源。当然阻塞的缺点也很明显,比如说我等待的资源刚好这一时刻只来了一个需要我处理的资源,我结束等待处理完成皆大欢喜。但是资源原创 2022-05-02 17:02:59 · 869 阅读 · 0 评论 -
C++中的构造函数、析构函数以及拷贝构造函数
只要创建了一个类编译器会默认创建三个构造,1.无参构造2.有参构造3.拷贝构造这三个函数你不写编译器就自动用编译器默认的,你写了就用你的。// 构造函数和析构函数// 类实例化一个对象时强制调用构造函数,对象销毁后自动调用析构函数进行清理工作。// 如果没有手动写出构造和析构函数,编译器会自动补上,只不过是空实现。#include <iostream>using namespace std;class fun {public: // 如果私有化 则该类将不能在外部实例原创 2022-04-26 20:54:24 · 1003 阅读 · 0 评论 -
C++中对C进行了哪些扩展
namespace命名空间:在C语言多文件多模块开发中,难免会有相同的变量名引起冲突。C++中使用namespace对变量的作用域进行了划分,只在引用当前命名空间的情况下空间内的变量才生效。代码演示如下:// 定义命名空间namespace nameA{ int a = 10;}namespace nameB{ int a = 20;}// 使用命名空间using namespace nameA;int main(){ //using namespace nameB; /原创 2022-04-19 10:57:56 · 728 阅读 · 1 评论 -
malloc函数
函数功能在堆区申请连续的空间,将该空间的首地址返回给调用者。相关函数1.void * malloc(size_t size); //size_t 表示无符号整型。2.void * realloc(void * ptr, size_t size); //ptr为堆区的地址,之前开辟的空间首地址,size位新的大小。通常用来增加或减少空间3.void free (void *ptr); // 释放空间。4.perror(“error”); // 打印错误信息。所在包#include &.原创 2022-04-01 15:17:25 · 389 阅读 · 0 评论 -
Linux常用命令
1.文件目录cd~ 、cd $HOME: 进入家目录,注意大写。小写 /home 下是各个用户。pwd :显示当前路径。ls : 列出目录内容。-l :按行输出文件。-a:显示当前文件夹下所有文件,包括隐藏文件。-f:不排序,按磁盘存储的顺序列出。mkdir:创建一个目录-m:对新建的文件设置权限。-p:此参数可是实现多级目录的新建。cat:连接显示指定的一个或多个文件的有关信息。-n:显示行数。-b:类比于-n不显示空白行的行号。cp原创 2022-03-28 19:52:26 · 3024 阅读 · 1 评论 -
C++笔记——C++与C的区别
一、C++与C的简单区别1. 输入输出C语言中标准输入输出所用的函数主要在<stdio.h>头文件中,其输入输出对格式的控制比较严格。举例如下: int temp; scanf("%d", &temp); printf("%d", temp); char ch; scanf("%c", &ch); printf("%c", ch);C++中标准输入输出在 < iostream > 头文件中, >>输入>>,&l原创 2021-01-21 17:00:36 · 339 阅读 · 0 评论