- 2024-11-172024-2025-1 20241406 刘书含《计算机基础与程序设计》第8周学习总结
2024-2025-120241406《计算机基础与程序设计》第8周学习总结这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 如2024-2025-1计算机基础与程序设计第八周作业这个作业的目标 功能设计与面向对象设计>面向对象设计过程面向对象语言三要素汇编、编
- 2024-11-16CPP 智能指针
CPP智能指针Created:2024-06-30T20:43+08:00Published:2024-11-16T23:17+08:00Categories:C-CPP智能指针的作用智能指针最初使的作用就是离开作用域调用析构函数。因为malloc出来的东西只能通过指针持有,栈上的对象在离开作用域后会自动调用析构函数,但是裸指针会不调
- 2024-11-16[C++] 智能指针
文章目录智能指针的使用原因及场景分析为什么需要智能指针?异常抛出导致的资源泄漏问题分析智能指针与RAIIC++常用智能指针使用智能指针优化代码优化后的代码优化点分析析构函数中的异常问题解决方法RAII和智能指针的设计思路详解什么是RAII?RAII的工作原理智能
- 2024-11-1626. 智能指针
一、什么是智能指针 当我们使用new关键字为指针变量动态申请内存时,但是使用完毕之后,我们可能会忘记使用delete关键字手动回收内存。因此,C++中提供了智能指针。当智能指针过期时,其析构函数将使用delete来释放内存。因此,如果将new返回的地址赋给智能指针对象,将无
- 2024-11-152024-2025 20241323 第八周学子任务总结
这个作业属于https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01• 这个作业的目标了解功能设计与面向对象设计• 面向对象设计过程• 面向对象语言三要素• 汇编、编译、解释、执行作业正文https://
- 2024-11-15c11智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-11-15C++ RAII 范式指南
1.RAII概述RAII(ResourceAcquisitionIsInitialization)是C++中最重要的资源管理机制之一,它将资源的生命周期与对象的生命周期绑定,确保资源的安全使用和自动释放。历史背景:RAII概念由BjarneStroustrup在1984-1989年间提出最早用于解决C++异常处理中的资源泄
- 2024-11-14c++ 标准 智能指针 与 qt 智能指针 对比
C++标准库提供了std::unique_ptr和std::shared_ptr等智能指针,而Qt则提供了QScopedPointer、QSharedPointer和QWeakPointer等自己的智能指针。两者在设计上有一些相似之处,但也存在一些关键的差异。下面是C++标准智能指针和Qt智能指针的详细对比:1.std::uniq
- 2024-11-13结构体和指针
指针与结构体【1】、指针变量是一个占位符,底层指向是一个内存地址。&:取地址符&a:取出a变量的地址1、指针的概念b内存地址0x11111111111,值:500varbint=500a指针变量,指向了一个内存地址0x11111111111变量a持有了变量b的地址。这个就是a指向了bpack
- 2024-11-13C语言指针详解:用法与实例
目录C语言指针详解:用法与实例引言1.指针基础1.1什么是指针?1.2如何声明指针?1.3获取变量的地址1.4解引用指针2.指针的高级用法2.1指针和数组2.2指针和函数参数2.3指针和动态内存分配3.指针的注意事项3.1空指针3.2悬空指针3.3指针运算C语言指针详
- 2024-11-12数组指针与指针数组
一、指针数组指针数组是一个数组,其中每个元素都是一个指针。这种数组可以用来存储多个指针,每个指针可以指向不同的数据类型。#include<iostream>usingnamespacestd;intmain(){inta=10,b=20,c=30;int*ptr_array[3];//定义一个指针数组,包含3个
- 2024-11-12C++笔记---智能指针
1.什么是智能指针1.1 RALL设计思想RAII(ResourceAcquisitionIsInitialization,资源获取即初始化)是一种资源管理类的设计思想,广泛应用于C++等支持对象导向编程的语言中。它的核心思想是将资源的管理与对象的生命周期紧密绑定,通过在对象的构造函数中获取资源,并在析构函数中
- 2024-11-11c++ 对于传递引用和传递值的理解
首先先上一段c++代码,可以看出foo函数参数是引用类型,bar函数参数是值类型typedefstructA{intx;inty;}A;voidfoo(A&a){ra.x++;}voidbar(Aa){a.x++;}intmain(){Aa={1,2};foo(a);bar(a);return0;}在vscode
- 2024-11-11实验3
任务1button.hpp1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()const;14
- 2024-11-10【读懂Linux】基础IO
学习编程就得循环渐进,扎实基础,勿在浮沙筑高台 循环渐进Forward-CSDN博客目录 循环渐进Forward-CSDN博客系统文件I/O接口介绍writereadcloselseek,类比C文件相关接口open函数返回值文件描述符fd文件描述符的分配规则重定向使用dup2系统调用FILE
- 2024-11-10实验3 类和对象_基础编程2
实验任务1:代码:1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()const;14
- 2024-11-10cpp智能指针
普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu
- 2024-11-10C++之智能指针
智能指针是C++中的一种资源管理工具,用于自动管理动态分配的内存。它们通过在不再需要时自动释放内存来防止内存泄漏。C++标准库提供了几种不同类型的智能指针,每种都有其特定的用途和行为。主要的智能指针类型std::unique_ptrstd::shared_ptrstd::weak_ptr1. std::unique_pt
- 2024-11-08C++中的std::shared_ptr
std::shared_ptr 是C++11标准库中的智能指针类型,用于管理动态分配的对象。与传统指针不同,std::shared_ptr 自动管理内存,并在不再使用时自动释放对象,以避免内存泄漏。它是一种共享所有权的智能指针,即可以让多个 std::shared_ptr 指向同一个对象,并且会记录有多少个 std::shar
- 2024-11-08天天学编程Day10
今日两道编程题LCR140. 训练计划IIclassSolution{public:ListNode*trainingPlan(ListNode*head,intcnt){//我选择使用双指针方法定义两个位置在头结点的指针//先让快指针先走cnt个位置然后让两个指针同时走//当快指针走到空节
- 2024-11-08指针简介:欲送你花,先找你家
从本质上来说,指针(pointer)是一个值为内存地址的变量。它指出指针的两个核心:①指针是一个变量。它具有和其他变量一样的属性:有名、有值、有地址(隶属“三友”集团)。②指针的值是内存地址。这指出了指针区别于其他变量的特殊性,它的值是内存地址。一、指针的命名常用以下两个名
- 2024-11-08【C++进阶】智能指针的使用及原理(1)
1.智能指针的使用场景分析下面程序中我们可以看到,new了以后,我们也delete了,但是因为抛异常导,后面的delete没有得到执行,所以就内存泄漏了,所以我们需要new以后捕获异常,捕获到异常后delete内存,再把异常抛出,但是因为new本身也可能抛异常,连续的两个new和下面的Divide都可能会抛异
- 2024-11-08C# 中的 IntPtr
C#中的IntPtrIntPtr是C#中用于表示指针或句柄的结构,它在处理非托管代码、与WindowsAPI交互或管理非托管资源时非常有用。IntPtr是一个平台无关的类型,能够在32位和64位系统之间自适应,通常用于存储指针地址或句柄。特点平台无关性:IntPtr在32位和64位应用程序
- 2024-11-07【C++11】智能指针
一.为什么需要智能指针 学习C++的人,一直在接触裸指针,一边感受着它的强大,一边感受着它的坑爹。当然,坑不坑爹在于开发者,指针本身近乎完美,但奈何用的人比较猥琐,给自己埋下无数的坑,还哭喊着指针不好用,那么今天要介绍的智能指针可以释放大家在使用裸指针时的一些压
- 2024-11-07C++循环引用指的是什么,在使用过程当中需要注意什么问题
C++中的循环引用是指两个或多个对象相互持有对方的引用,导致这些对象无法被自动释放,从而造成内存泄漏。循环引用主要发生在使用智能指针(如 std::shared_ptr)管理对象生命周期时。以下是循环引用的具体解释及其使用中需要注意的问题:循环引用的形成当两个对象A和B互相持