07 2021 档案
摘要:调用拷贝构造和复制函数区别 string a("hhh"); string b = a;//调用拷贝构造 string c; c = a;//调用赋值函数 explicit作用 加在构造函数前面,对仅有一个参数或者多个参数且仅有一个参数没有默认值的构造函数不会进行隐式转换。 看一个例子 class
阅读全文
摘要:extern总结 1、extern声明外部变量已经被定义,可以应用 //file1.c: int x=1; int f(){do something here} //file2.c: extern int x; int f(); void g(){x=f();} 注意extern int x没有开辟
阅读全文
摘要:c++浮点型默认是double 函数指针赋值:pfun=afun或pfun=&afun都行
阅读全文
摘要:回调函数 回调函数可以把函数指针作为参数传到另一个函数,就是在特定的事件发生后我们要调用这个实现,作用可能就是解耦。 #include<stdio.h> int Callback_1(int x) // Callback Function 1 { printf("Hello, this is Cal
阅读全文
摘要:Makefile看得懂就行,不需要自己去写,这是几个模板: https://www.cnblogs.com/subo_peng/p/5157376.html https://blog.csdn.net/liuxiaoxiaocsdn/article/details/71208761 这个理解很好 h
阅读全文
摘要:c程序进程内存分区 BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。 数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。 代码段:代码段(code segment/text segment)通常是指用
阅读全文
摘要:把析构函数设为私有,可以让类只能通过new来创建对象。 因为直接创建类对象是分配栈空间的,编译器会检查析构函数,如果是私有就不会栈上分配内存。这样只能通过new在堆上创建对象。 自动变量 自动变量,只在定义它们的时候才创建,在定义它们的函数返回时系统回收变量所占存储空间。对这些变量存储空间的分配和回
阅读全文
摘要:通过前面总结之后可以得出udp和tcp区别 UDP TCP 是否连接 无连接 面向连接 是否可靠 不可靠传输,不使用流量控制和拥塞控制 可靠传输,使用流量控制和拥塞控制 连接对象个数 支持一对一,一对多,多对一和多对多交互通信 只能是一对一通信 传输方式 面向报文 面向字节流 首部开销 首部开销小,
阅读全文
摘要:UDP udp传输是面向无连接的,与tcp不同,没有那么多繁琐的校验,数据报文也比较简单,传输的速度不受接收端的限制,开销小,但是数据的传输可能不完整。 UDP首部有8个字节,由4个字段构成,每个字段都是两个字节, 1.源端口: 源端口号,需要对方回信时选用,不需要时全部置0. 2.目的端口:目的端
阅读全文
摘要:linuxtcp图解 tcp头部(20-60字节) TCP端口号 TCP的连接是需要四个要素确定唯一一个连接: (源IP,源端口号)+ (目地IP,目的端口号) 所以TCP首部预留了两个16位作为端口号的存储,而IP地址由上一层IP协议负责传递 源端口号和目地端口各占16位两个字节,也就是端口的范围
阅读全文
摘要:重载overload和重写override(虽然这个很熟悉但是整一下) 重载,就是同名函数,不同参数实现的不同函数,和返回值无关 重写,就是子类继承父类的virtual修饰的函数,重新实现函数 都实现多态性 被final修饰的类就不能被继承,所以被final修饰的函数不能被重写override 静态
阅读全文
摘要:inline内联 内联说明(inline specification)对于编译器来说只是一个建议,编译器可以选择忽略这个建议。也就是说,是否以嵌入式方式存在,是由编译器决定的,并不是一定。 c++不是类型安全语言 c++可以把0当成false,就算函数返回的是bool类型,你返回0,照样会转成fal
阅读全文
摘要:C++中绝大部分的运算符允许重载。 不能重载的运算符只有5个: (1). (成员访问运算符)。 (2).* (成员指针访问运算符)。 (3)∷(域运算符)。 (4)sizeof(长度运算符)。 (5)?: (条件运算符)。 c++成员运算符重载和友元运算符重载的比较 1、对双目运算符而言,成员运算符
阅读全文
摘要:rtt线程管理 rt_thread结构体 线程由这个结构体控制(官方文档) /* 线程控制块 */ struct rt_thread { /* rt 对象 */ char name[RT_NAME_MAX]; /* 线程名称 */ rt_uint8_t type; /* 对象类型 */ rt_uin
阅读全文
摘要:keil5安装 keil5可以不去官网上下载,随便百度一个网站有注册机的都可以下载。 安装完之后一定要使用注册机激活不然会有很多报错 。 在官网文档这边下载对应的pack试验 点击这里导入 出现弹窗之后使用file >import >选择你刚刚下载 的pack 在官网手册这里下载rtt的demo里面
阅读全文
摘要:牛客碰到的问题 用户可以重新定义库函数,如果定义了,此库函数失去意义。 宏定义是宏替换!!!!!不要忘记啦,经常要想一下!! 哈夫曼编码 就是按照二叉树构建的一个编码树。 根据权重构建最优二叉树 例 :哈弗曼编码是一种无损二进制熵编码算法,其加权路径长度最小,字符串“alibaba”的二进制哈弗曼编
阅读全文
摘要:搭建rtthread+QEMU环境 直接去官网下载 RT-Thread源码和env 启动env 在env目录下env.bat cd 到rt-thread目录下bsp/qemu-vexpress-a9目录下,直接运行scons编译 然后输入qemu就能运行了 RT-Thread 支持 Finsh,用户
阅读全文
摘要:牛客学习知识点 c语言逗号运算符,这个经常会不注意,但平时经常写的int a,b=9;肯定是给b赋值,所以cout<<(a,b);肯定是输出b vector迭代器erase掉一个元素会使后面的所有迭代器失效,所以要使用一个迭代器去接返回值 it = v_obj.erase(it++); std::s
阅读全文
摘要:cmake(cmake_demo)(cmake_test) (cmake . 后面的点不要漏了!!!!!!) 常用的预定义变量 PROJECT_SOURCE_DIR 工程的根目录 PROJECT_BINARY_DIR 运行cmake的目录,通常是$/build ADD_EXECUTEABLE(cma
阅读全文

浙公网安备 33010602011771号