自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 C++指针与引用:差异、应用及最佳实践

指针,在 C++ 的世界里,是一种特殊的变量,它的使命是存储其他变量在内存中的地址,而非变量的值本身。这就好比一个房间号,它并不代表房间里的物品,却能引领我们找到对应的房间。在 32 位系统中,指针占用 4 个字节(32 位 = 4 字节),而在 64 位系统中,指针占用 8 个字节。在 C++ 中,定义指针的语法简洁明了:数据类型 * 指针变量名。例如,int num = 10;

2025-04-03 14:51:40 13

原创 C++编程:虚函数和虚函数列表

虚函数是 C++ 中实现多态性的关键,它允许在派生类中重新定义与基类同名的函数,从而实现不同的行为。在基类中,使用virtual关键字来声明虚函数。public:// 声明虚函数draw在上述代码中,draw函数被声明为虚函数。需要注意的是,虚函数必须是类的成员函数,不能是全局函数或静态成员函数。而且,虚函数的声明只能出现在类的定义中,不能在类外的函数定义中添加virtual关键字。虚函数和虚函数列表是 C++ 多态性的核心机制,它们在 C++ 编程中扮演着至关重要的角色。

2025-04-03 10:11:07 12

原创 C++ STL:六大组件全解析

STL 标准库中也提供了一些常用的仿函数 ,例如算术仿函数(如std::plus、std::minus、std::multiplies等)、关系仿函数(如std::equal_to、std::not_equal_to、std::greater等)和逻辑仿函数(如std::logical_and、std::logical_or、std::logical_not等)。迭代器的行为类似于指针,它可以指向容器中的某个元素,通过迭代器,我们可以遍历容器中的元素,读取和修改元素的值。

2025-04-03 09:26:21 296

原创 C++编程:指针

指针定义的语法为:数据类型 *指针变量名。例如,int *p;这条语句定义了一个名为 p 的指针变量,它指向的是 int 类型的数据。这里的 * 是指针声明符,表明 p 是一个指针。需要注意的是,指针变量本身也占据一定的内存空间,其大小与操作系统相关,在 32 位系统下通常为 4 个字节,64 位系统下则为 8 个字节,且这一大小与它所指向的数据类型无关。函数指针是指向函数的指针变量,它存储的是函数的入口地址。函数指针的声明需要明确函数的返回类型和参数列表。

2025-04-02 11:20:26 602

原创 C++强制类型转换:从入门到精通

为了更清晰地展示 C++ 中四种强制类型转换运算符(static_cast、const_cast、reinterpret_cast和dynamic_cast)的区别,下面通过表格形式对它们的功能、用法、适用场景和注意事项进行详细对比:转换运算符功能用法适用场景注意事项用于具有明确定义的类型之间的转换,包括基本数据类型转换以及类层次结构中相关类型的转换基本数据类型间转换,如int转float;类层次结构中的上行和下行转换(下行转换需谨慎)下行转换时没有运行时类型检查,可能导致未定义行为;

2025-04-02 11:01:35 394

原创 C++泛型编程:开启代码复用

泛型编程,简单来说,是一种编程范式,它允许我们编写与数据类型无关的代码。在泛型编程中,类型被参数化,使得同一套代码可以适用于多种不同的数据类型。这种编程方式打破了传统编程中对特定数据类型的依赖,极大地提高了代码的通用性和可复用性。这里的typename T声明了一个类型参数T,它可以代表任何数据类型,如int、double、float等。当我们调用这个函数时,编译器会根据传入的实际参数类型,自动生成相应的函数实例。// 编译器自动生成add<int>函数实例。

2025-04-02 10:41:53 526

原创 C++ 编程:左值引用与右值引用

在 C++ 的编程世界里,左值引用和右值引用就像是两把神奇的钥匙,各自开启了不同的大门,为我们带来了高效、灵活的编程体验。左值引用作为传统 C++ 就存在的特性,它就像是一位忠诚的伙伴,紧紧跟随有固定内存地址的左值对象,在函数参数传递和返回值场景中,通过避免对象的拷贝,为程序的高效运行立下了汗马功劳。而右值引用则是 C++11 引入的新成员,它像是一位充满活力的探险家,专门与那些短暂存在的右值对象打交道,为 C++ 带来了移动语义和完美转发这两大强大的特性。

2025-04-02 10:15:43 580

原创 C++11:开启现代C++编程新时代

假设我们正在开发一个网络服务器,该服务器需要处理大量的并发请求,实现用户的登录、注册、数据查询等功能。在项目开发初期,使用的是 C++98/03 标准,随着业务的不断发展和用户量的增加,服务器面临着诸多挑战。在内存管理方面,由于手动管理内存,频繁地使用new和delete操作符,导致代码中出现了一些内存泄漏的问题。例如,在处理用户请求时,为了存储用户的临时数据,分配了一块内存,但在请求处理完成后,由于代码逻辑的复杂性,部分内存没有被正确释放,随着时间的推移,服务器的内存占用不断增加,性能逐渐下降。

2025-04-02 09:50:31 313

原创 C++ 看面向过程与面向对象编程

在编程的广袤天地中,编程范式如同璀璨繁星,照亮着开发者前行的道路。而在 C++ 这门强大的编程语言中,面向过程编程与面向对象编程无疑是最为耀眼的两颗明星,它们各自散发着独特的光芒,为开发者解决问题提供了截然不同却又同样强大的思路。面向过程编程,以其简洁直接、注重步骤流程的特点,在软件开发的早期阶段大放异彩,成为众多简单任务的首选编程方式。而随着软件系统的日益复杂,面向对象编程应运而生,它以模拟现实世界中的对象及其交互为核心思想,赋予了程序更高的灵活性、可维护性和扩展性。

2025-04-02 09:17:00 429

原创 C++重载:让代码“一专多能”

函数重载,简单来说,就是在同一个作用域内,可以定义多个名字相同但参数列表不同的函数。这里的参数列表不同,具体体现在参数的类型、个数或顺序上。这三个函数都名为add,但第一个函数接受两个int类型的参数,第二个函数接受两个double类型的参数,第三个函数则接受三个int类型的参数,它们构成了函数重载。需要特别注意的是,函数重载与返回值类型无关,仅仅返回值不同的同名函数不能构成重载。// 编译错误,仅返回值不同,不能构成函数重载运算符重载,是 C++ 赋予我们的又一项强大能力,它。

2025-04-02 08:55:44 234

原创 C++ 深拷贝与浅拷贝:内存世界的“双胞胎”谜题

浅拷贝,简单来说,就是按位拷贝对象。当进行浅拷贝时,它仅仅复制对象的属性值 ,而不会复制属性所指向的内存空间。假如一个对象里包含指针类型的属性,浅拷贝只会复制这个指针的地址,而非指针所指向的实际数据。这就好比有两份地图,浅拷贝只是复制了地图的纸张,而地图上标记的宝藏地点(实际数据)并没有被真正复制,两份地图指向的是同一个宝藏地点。在 C++ 中,编译器默认生成的拷贝构造函数就是浅拷贝构造函数,它会逐位复制对象的成员变量。深拷贝是一种更为全面的对象复制方式。

2025-04-01 21:59:35 421

原创 C++ STL容器:高效编程的秘密武器

STL 容器是 C++ 编程中极为强大和实用的工具,它为我们提供了丰富的数据结构和高效的操作方法。通过深入了解序列式容器、关联式容器和容器适配器的特点与使用场景,我们能够根据具体的需求选择最合适的容器,从而编写出更高效、更易维护的代码。在实际编程中,不断练习和使用 STL 容器,积累经验,将有助于你更好地掌握它们的特性和使用技巧。同时,多阅读优秀的 C++ 代码,学习他人在容器选择和使用方面的经验,也能进一步提升你的编程能力。

2025-04-01 20:57:53 638

原创 C++智能指针:内存管理的新姿势

智能指针作为 C++ 内存管理的得力助手,凭借其基于 RAII 机制和引用计数等技术,为我们带来了前所未有的便利和安全性。std::unique_ptr的独占式管理,确保了资源的唯一性和高效性,让我们无需担心资源被意外共享而引发的问题;std::shared_ptr的共享式设计,巧妙地解决了资源在多个模块间共享时的生命周期管理难题,通过引用计数机制,精准地控制着资源的释放时机;

2025-04-01 20:30:56 654

原创 高级中学网络规划与设计实现源代码

这个实现提供了一个完整的校园网络模拟系统,涵盖了网络规划、设计、实现和管理的各个方面,可以用于教学演示或网络规划的前期模拟。

2025-03-31 16:45:31 230

原创 C++面试八股文

和静态多态(又称编译期多态,即在系统编译期间就可以确定程序将要执行哪个函数),其中动态多态是通过虚函数实现的,虚函数是类的成员函数,存在存储虚函数指针的表叫做虚函数表,虚函数表是一个存储类成员虚函数的指针,每个指针都指向调用它的地方,当子类调用虚函数时,就会去虚表里面找自己对应的函数指针,从而实现“谁调用、实现谁”从而实现多态。而C++符号表中的符号不是以函数名命名的,称为函数名修饰规则,虽然函数名相同,但是函数参数等其他属性不同,取的符号也不同,所以不会产生查询歧义的问题,使得函数可以重载。

2025-02-14 09:49:00 658

原创 《论文笔记》—— Self-supervised Image-specific Prototype Exploration for Weakly Supervised Semantic Segment

此外,通过特征的质心(粉色星形)激活每个图像上的特征,有助于探索更完整的区域(见图1所示的image-specific CAM (IS-CAM))。一种直接获取种子的方法是经验地为CAM选择阈值,但由于对象和场景的多样性,很难对不同的图像使用固定的阈值。然而,由于图像的对象和场景的多样性,学习每个类的通用类内鉴别器是相当棘手的。图3显示了所选的前景和背景示例所提出的方法。与以分类器权重为类中心计算每个像素相关性的原始CAM相比,提出的IS-CAM利用针对每幅图像量身定制的原型,实现更完整的目标区域。

2022-09-27 08:47:08 1986 2

原创 《论文笔记》——Multi-Miner: Object-Adaptive Region Mining for Weakly-Supervised SemanticSegmentation

即二值区域挖掘,其目的是将同时包含前景和背景的图像的分布映射到只包含背景的图像的分布。执行的对象自适应区域挖掘。(b)我们的方法与以前的方法挖掘的区域与CAM[32]定位的原始种子区域的比较。可以观察到,现有方法的挖掘区域在数量和规模上往往不足,对于较大的物体,对于较小的物体容易受到周围背景的污染。形式上,我们定义了两个原始分布:p0是只包含背景的图像的分布,p1是同时包含前景和背景的图像的分布。它的最后一层通道的数量等于所有可能的类别的数量,这样它就可以为图像中的每个单一类别生成一个区域映射。

2022-09-21 15:05:23 836

原创 分类精度评价中的TP、TN、FP、FN的理解

将样本分为正样本(positive)和负样本(negative)。,用来判断检测框是否为正样本的一个标准。通过与阈值比较来判断是正样本还是负样本。:分类器识别结果错误,分类器认为该样本是正样本;所以实际上该样本是负样本;:分类器识别结果错误,分类器认为该样本是负样本;所以实际上该样本是正样本;,P表示分类器判定为正样本,N表示分类器判定为负样本。:分类器识别正确,分类器认为该样本为正样本;:分类器识别正确,分类器认为该样本为负样本;TP+FP是分类器判定为正样本的总数量。TP、TN、FP、FN中。

2022-09-14 14:23:39 2290

原创 《论文笔记》——PUZZLE-CAM: IMPROVED LOCALIZATION VIA MATCHING PARTIAL AND FULL FEATURES

因此,该模型在生成图像补丁的同类CAM时,只关注对象的部分来寻找该类的关键特征。因此,图像补丁合并后的。然而,为了对语义对象进行有效的分类,所生成的分割模型往往只关注语义对象的一小部分,这就阻碍了分割模型对像素级语义知识的学习。,以最小化单个图像的CAM与图像补丁合并后的CAM之间的差异。的目标是使用像素相关模块来细化cam,该模块捕捉每个像素的上下文外观信息,并通过学习到的亲和力注意图来改变原始cam。此外,我们可以看到,平铺图像中孤立的patch生成的CAMs与原始图像得到的CAMs是不同的。

2022-09-12 14:15:10 1868

原创 《论文笔记》--Non-Salient Region Object Mining for Weakly Supervised SemanticSegmentation

基于显著区域内的目标标签是高概率正确的假设,我们首先在伪标签的引导下对初始预测的目标区域进行扩展。不同于现有的方法主要集中在显著区域的伪标签精炼,我们建议发现更多的对象在非显著区域进行弱监督语义分割。在OAA的基础上,我们生成了具有更多完整区域的在线累计类注意力地图(OA-CAMs),并利用其整体注意力模型对目标对象区域的低注意力值进行强化。对于分割网络来说,利用伪标签只包含显著区域内的物体标签来检测显著区域外的物体仍然是一个挑战。Lij是(i,j)位置的初始标签中的值,表示像素的伪标签。

2022-09-08 10:05:21 1025

转载 softmax函数

​softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。​

2022-09-07 13:25:29 481

原创 CAM简介

在CAM中,作者认为全局平均池化层具有局部定位能力

2022-09-05 19:03:05 707

转载 图像处理 Random Walks分割——基于随机游走的图像分割算法

图像处理 Random Walks分割——基于随机游走的图像分割算法

2022-09-04 19:50:24 786 1

C-NCAP2024.zip

自动紧急制动(AEB/FCW)中国2024年法规。

2025-04-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除