首页 > 其他分享 >学习日记-24/7/26

学习日记-24/7/26

时间:2024-07-26 16:28:56浏览次数:13  
标签:24 初始化 26 函数 右值 std 线程 日记 构造函数

对QT控件使用差很多,不全面。
不太会看文档,自己对于新方法无法适应。

内存泄漏的现象,如何检查代码中的内存泄露?
已分配的内存空间在使用完毕后未被释放,导致可用内存减少并最终可能导致系统性能下降或程序崩溃。
方法一:代码审查和静态分析工具(自己查)
方法二:动态分析工具(Valgrind)
方法三:内存泄漏检测库(gcc -fsanitize=address -g your_program.c -o your_program)(在代码中包含#include <mcheck.h>并在main函数开始处调用mtrace())
方法四:手动跟踪:日志记录、智能指针(自动管理内存分配和释放)

  • 动态多态(运行时多态)/ 静态多态(编译时多态)
    静态:函数重载、模板(编译的时候就绑定)
    动态:虚函数实现(运行的时候绑定)

  • 虚函数 虚表指针 虚表
    虚函数:基类中声明的函数,使用virtual关键字。它允许派生类重写该函数,从而在运行时决定调用哪一个版本的函数。通过虚函数可以实现多态性。
    虚表指针:为了实现运行时的多态性,编译器会在每个包含虚函数的类中插入一个隐藏的成员指针,称为虚表指针(vptr)。这个指针指向该类的虚表(vtable)。
    虚表:是一个函数指针表,它存储每个虚函数的地址。每个包含虚函数的类都有一个虚表。顺序与它们在类中的声明顺序一致。
    工作原理:
    当一个包含虚函数的对象创建时,vptr被初始化为指向该对象所属类的虚表。
    在调用虚函数时,通过vptr查找虚表中相应的函数指针,并调用实际的函数实现。

  • 每个对象实例包含一个指向该虚函数表的指针
  • 抽象类是包含至少一个纯虚函数的类
  • 抽象类
    定义方法/接口,提供默认行为,促进代码复用。
    不能实例化!!

  • 回调函数
    回调函数是指通过将函数指针作为参数传递给另一个函数,从而在特定事件或任务完成时调用该函数。
    在C++中,回调函数可以通过函数指针、函数对象(仿函数)、以及lambda表达式来实现。
    lambda表达式是一种简洁的方式来定义匿名函数。

什么叫协议:指定一个能够交流的标准。

协议(Protocol)在计算机科学和电信领域中,是指一组规则或标准,这些规则或标准定义了计算机之间如何进行通信或数据交换。协议规定了数据格式、传输方式、错误检测和纠正方法等内容,以确保在不同设备或系统之间进行可靠和高效的通信。

什么叫tcp:

TCP,全称是传输控制协议(Transmission Control Protocol),是Internet协议族的一部分,用于管理数据在网络中的传输。它是一种面向连接的协议提供可靠、顺序的字节流传输。TCP在网络通信中扮演着重要的角色,确保数据能够从一个网络设备传输到另一个网络设备,且数据不会丢失、重复或失序。

守护进程详细内容,怎么调试

std::move

C++11 委托构造函数,继承构造函数

默认构造函数
初始化构造函数(有参数)
拷贝构造函数
移动构造函数(move和右值引用) :接受一个右值引用参数,通过“移动”资源来初始化新对象,而不是复制。
委托构造函数 :一个构造函数调用另一个构造函数来简化代码和减少重复。
转换构造函数 :可以接受单个参数并实现从该参数类型向类类型转换的构造函数。

class MyClass {
public:
    int x;
    MyClass(int val) : x(val) {
        // 转换构造函数
        std::cout << "Conversion constructor called with value: " << x << std::endl;
    }
};

int main() {
    MyClass obj = 10;  // 调用转换构造函数
    return 0;
}

可变参数模板(variadic templates)是C++11引入的一种强大特性,允许定义能够接受可变数量参数的模板。

列表初始化 {}

标签:24,初始化,26,函数,右值,std,线程,日记,构造函数
From: https://www.cnblogs.com/iuk11/p/18325646

相关文章

  • 20240726模拟赛订正题笔记
    (T1)lnsyoj2212刷数组考场上切掉了,所以来说说考场上的做法。首先看数据范围,线段树并不能拿满分,所以考虑在数组上操作。如何处理区间覆盖:记录一下区间覆盖的数,然后记录第几次覆盖,单点修改或增加时查看次数被覆盖了几次,若与正常覆盖次数不符,则将此数设为新的覆盖数。考场代码如下......
  • SMU Summer 2024 Contest Round 7
    1.GameonRanges原题链接:http://162.14.124.219/contest/1011/problem/B看懂英文后进行排序,按照区间长度从短到长,起始数字从小到大来排序,再依次标记赋值,模拟这个过程即可查看代码#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;inta[1000000],b[100......
  • c语言(7.26)
    今天学习了二级指针和多级指针,数组指针数组指针#include<stdio.h>intmain(){ //利用指针遍历数组 intarr[]={10,20,30,40,50}; intlen=sizeof(arr)/sizeof(int); //获取数组的指针 //1获取数组的首地址 int*p1=arr; //2循环 for(inti=0;i<len......
  • 黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day4
    你好,我是Qiuner.为帮助别人少走弯路和记录自己编程学习过程而写博客这是我的githubhttps://github.com/Qiuner⭐️giteehttps://gitee.com/Qiuner......
  • 24帕鲁杯应急响应
    应急响应-1题目要求:找到JumpServer堡垒机中flag标签的值。提交格式:[堡垒机中flag标签的值]:[BrYeaVj54009rDIZzu4O]应急响应-2题目要求:提交攻击者第一次登录时间。提交格式:[2024/00/00/00:00:00]:[2024/04/1114:21:18]应急响应-3题目要求:提交攻击者源IP。提交格式:......
  • 24数据安全产业人才积分争夺赛
    Wireshark2.1题目内容:存在漏洞的PHP页面名称是?(比如:a.php)直接搜索php所以flag:theanswerishere.phpWireshark2.2题目内容:当前表的列数共有几列?(比如:1)找到了所以flag:3Wireshark2.3题目内容:注入目标的列名是?所以flag:th1sfI4g错的,要加flag{},我真无语所以flag:flag{th1sf......
  • PHP上海小区精神文明建设协管小程序22444(案例分析)
    目  录摘 要1绪论1.1研究背景1.2国内外研究现状1.3论文结构与章节安排2 上海小区精神文明建设协管小程序系统分析2.1可行性分析2.1.1技术可行性分析2.1.2经济可行性分析2.1.3社会可行性分析2.2系统流程分析2.2.1 数据流程3.3.2 业务流......
  • 24蓝桥杯-网络安全组
    packet直接搜索flag追踪HTTP的流量解码:ZmxhZ3s3ZDZmMTdhNC0yYjBhLTQ2N2QtOGE0Mi02Njc1MDM2OGMyNDl9Cg==flag{7d6f17a4-2b0a-467d-8a42-66750368c249}爬虫协议题目提示输入robots.txt那就添加喽找到目录点开就是flagflag{a4ee1ccd-5a2f-471f-a9a1-f4c9057d8fcc}CC......
  • 2024-07-26 定义一个vue组件,并使用双向绑定该组件的值
    我写了一个input组件(vue3)<template><div><inputclass="inp":value="modelValue"@input="$emit('update:modelValue',$event.target.value)"/></div></template&......
  • NVIDIA 初创加速计划 | 2024 NVIDIA 创业企业展示报名开启
    我们正处于一场新的工业革命之中。人工智能技术即将广泛渗透到各个行业,并推动生产力提高至前所未有的水平。而技术进步绝不仅仅是这场革命的唯一驱动力,新工业革命的到来更依赖于众多敢于创新、勇于探索的科技创业企业,他们在这场革命中扮演着至关重要的角色,并能够迅速将最新的科研......