哈工大发布大模型思维链推理综述:200+文献全面解析大语言模型思维链推理最新进展...

news2024/12/23 8:34:08

fa3ecbbc01af14d0f11dd5062ff71714.gif

©PaperWeekly 原创 ·作者 | 初征,陈靖昌,刘铭,秦兵,刘挺

单位 | 哈尔滨工业大学

研究方向 | 自然语言处理

204b1a47b33de548812759d0c7b35742.png

论文标题:

A Survey of Chain of Thought Reasoning: Advances, Frontiers and Future

论文链接:

https://arxiv.org/abs/2309.15402

仓库链接:

https://github.com/zchuz/CoT-Reasoning-Survey

9aa2158a88b773ff6ed9b9fb6527a7a1.png

引言

思维链,一种通过逐步思考解决问题的方式,在解决复杂推理任务上展现出了惊人的性能,激起了人工智能和自然语言处理领域近年来的广泛研究和关注。

然而,目前缺乏一篇针对思维链及其变体的系统性归纳和总结。针对这一问题,本文对现有思维链相关研究进行了广泛调研,对思维链构造方法、思维链增强方法、思维链结构变体进行了归纳和总结,对思维链前沿应用做出了探讨并对思维链未来潜在研究方向进行展望。

为了与传统链式思维链进行区分,本文提出了泛思维链(X-of-Thought)的概念,其泛指基于思维链核心思想——逐步思考解决问题的方法和变体。在下文中所讨论的思维链均代指广义的泛思维链。

我们期望这篇综述能够为研究者和初学者提供参考和启发,激发更多关于思维链推理领域的深入探讨,推动该领域的进一步发展和创新。

2d488f8294ae9d2629ff41974a997ffb.png

背景介绍

2.1 范式转换

近年来,随着计算能力的不断提升,大规模语言模型如雨后春笋般涌现,例如 GPT,LLAMA,BLOOM。而随着语言模型规模的不断扩大,涌现出了许多令人惊喜的能力,例如上下文学习和思维链能力。因此,自然语言处理的范式正在从预训练+微调转变为预训练+上下文学习。

2.2 上下文学习和思维链推理

上下文学习(In-context Learning)通过在提示文本中添加输入-输出示例,通过少样本学习(Few-shot Learning)的方式让 LLM 模仿已有示例(demonstrations)解决新的问题。通过上下文学习,LLM  无需额外微调即可使用,并且还能取得不错的性能。尽管如此,其在面对复杂数学推理、常识推理等复杂推理任务时表现不佳。

思维链(Chain-of-Thought)推理要求模型在输出最终答案之前,显式输出中间逐步的推理步骤。这一举措大幅度提高了 LLM 在复杂推理任务上的表现,并且输出的中间步骤方便使用者了解模型的思考过程,提高了大模型推理的可解释性。目前,思维链推理已经成为大模型处理复杂任务的一个常用手段。

3ec34339230e5370640e056797fd1d6b.png

章节组织

7a0217eab56272fc2579f22157a07e0f.png

我们将从三个角度介绍思维链相关方法,并且在最后进行了方法间的比较和讨论:

  • 思维链方法(包含思维链构造方法、思维链结构变体、思维链增强方法)

  • 思维链前沿应用(包含工具使用、决策规划、思维链蒸馏——提高小模型推理能力)

  • 未来研究展望(包含多模态思维链推理、可信思维链推理——减少幻觉、思维链理论研究)

d633cbf64f27cbefa6cacf20dd0c82eb.png

思维链方法

4.1 思维链构造方式

根据模型进行思维链推理所需的推理链条人工标注程度,我们将其分为手动、自动、半自动三种构造方式。

4.1.1 手动思维链构造

示例中的推理链条完全由人工标注。

优缺点:人工标注推理链条具有较高质量,为少样本学习提供了优质的信号。但是人工标注需要较大的人力成本开销,并且会遇到示例选择难以优化、跨任务迁移困难等问题。

4.1.2 自动思维链构造

示例中的推理链条完全无需人工标注。具体来说,它分为 Zero-shot CoT 和 Auto CoT 两种方式。前者通过特定的提示文本激发模型在没有示例的情况下生成推理链条;后者则是使用前者零样本生成的推理链条,并结合示例选择策略,通过少样本学习的方式生成推理链条。

优缺点:自动思维链构造不需要人工标注极大减少了人工成本,并且由于无需针对任务设定示例,在不同任务间可以方便迁移。但是由于缺少高质量人工标注信号,其性能通常较差,时常会出现事实错误、逻辑错误等幻觉现象。

4.1.3 半自动思维链构造

示例中的推理链条少量由人工标注。具体来说,人工标注少量推理链条作为“种子样例”,基于这些种子样例进行拓展得到大量的推理链条,之后通过示例选择通过少样本学习的方式生成推理链条。

优缺点:半自动构造方法结合了前二者的优点,在推理性能和人力成本间达到了平衡。少量人工标注提供了高质量的信号从而提高了推理质量,并且自动的推理链条拓展也减少了人工成本,在不同领域间迁移也仅需对种子样例进行重新标注。

4.2 思维链结构变体

最原始的思维链是链式结构,并且以自然语言描述中间推理过程。链式结构过于线性,一定程度上限制了它在复杂任务上的能力,为此许多研究对思维链的结构进行了探索。

739e3a90dfcf173639152ff968d437fc.png

4.2.1 链结构变体

链式结构变体主要针对中间推理过程的形式进行修改。

程序语言的执行和复杂数学推理的过程十分契合,一些工作提出使用程序语言代替自然语言,通过生成可执行程序作为推理链条,并执行该程序得到最终推理结果,例如 PAL、PoT。

此外还有一些其他形式的中间推理过程,例如 Algorithm-of-Thought 将推理链条替换为算法的执行过程,激发大模型内部使用算法推理的能力,Chain-of-Symbolic 在规划任务中使用符号代替了复杂的环境。

4.2.2 树结构变体

链式结构的思维链限制了探索的广度,一些方法显式地构造了树并引入了树搜索算法。结合树结构和树搜索算法可以对不同的推理路径进行探索,并且引入了回溯、自我评估、剪枝的操作,在复杂任务及规划任务上取得优秀表现(Tree-of-Thought)。此外有方法在中间步骤中额外引入了不确定性评估,一定程度缓解了由不确定性带来的推理级联错误(Tree-of-Uncertain-Thought)。

有些方法通过树结构加快推理速度,通过将问题分解成可以平行解决的子问题并行解码,但这种方法仅限于解决简单任务,无法处理复杂推理任务(Skeleton-of-Thought)。

然而,当前的树结构变体方法在任务选择上有较大的局限性,并且需要针对任务设定具体的提示指令,这些困难阻碍了它的广泛应用。

4.2.3 图结构变体

图结构相较于树引入了更复杂的拓扑结构。Graph-of-Thought  在推理中通过环结构引入了自我修复,并根据图拓扑结构引入了信息聚合,在处理复杂任务时有着更较优秀有的表现,但是其面临着和树结构变体类似的问题,阻碍了它的广泛应用。

ResPrompt  通过在提示文本中引入了“残差链接”来连接、聚合不同步骤的推理结果,隐式地引入了推理步骤之间地图结构,可以在数学推理等通用任务上使用,并且取得了优秀的效果。

4.3 思维链增强方法

针对思维链进行某一特性的针对性增强,例如添加推理步骤的验证和完善、引入外源知识、问题分解、多次采样并投票、提高效率等。

4.3.1 基于验证和完善

大模型在推理过程中往往会出现幻觉现象,例如事实性错误和逻辑性错误。通过引入针对推理过程的验证来获取反馈信号,并根据该反馈讯号对推理进行完善可以一定程度缓解这种现象。

一个简单的思路是对推理步骤进行校验,例如通过演绎推理检验前后推理的一致性(Verify-CoT)、对每一个推理步骤进行细粒度的校验(DIVERSE)。

事实性错误通常通过引入知识进行缓解,具体来说分为外源知识和内源知识。对于内源知识,模型在回答问题前,首先通过提示指令获取模型内部的知识,并基于这些知识进行推理(SCREWS、Chain-of-Verification、Crystal、Step-Back Prompting),外源知识的引入将会在后续章节中介绍。

对于推理一致性,一些方法通过反向推理进行验证。具体而言,他们根据问题和模型的预测来推理问题中的条件,根据推测出的条件和真实条件的一致性来判断推理的正确性(RCoT、FOBAR、Self-Verification)。

4bd5e95778994a26c9855a9ebc84e1cf.png

4.3.2 基于问题分解

模型直接回答复杂问题是十分具有挑战性的,而回答简单问题则得心应手。因此将问题分解成子问题显式地一步步解决是一类有效的方法。

Least-to-Most 使用了自顶向下的问题分解策略,首先将问题一次性分解成若干子问题,之后逐个解决从而得到最终的答案;Successive Prompting 采取了一种迭代分解策略,每轮迭代分解一个子问题并解答,并使用其促进后续的问题分解和回答;Decomposed Prompting 采取模块化设计,对不同类型的子问题设计专属模块负责解答,提高了子问题解答的准确性。

此外,BINDER 采取神经符号的方式,通过程序执行得到最终答案;DATER 则关注表格推理的问题分解,需要同时考虑问题和表格的分解。

dac057e12f966d7fd38e4ab2a2a5daf6.png

4.3.3 基于外源知识

模型内部存储的知识在预训练结束后便会定格,无法获取新的知识,导致知识的匮乏和过时。从维基百科、知识库、词典等途径引入外源知识,能够一定程度缓解这个问题。

Chain-of-Knowledge 从知识库中获取结构化知识进行知识指导的推理,并且根据结构化知识对推理链条的真实性和可信性进行验证。KD-CoT 将多跳推理转化为多轮问答形式,在每轮问答中检索相关的事实知识辅助问答。

7c643107c87a479cd06d7d3906ace997.png

4.3.4 基于排序或投票

由于语言模型是基于概率采样的,在生成文本时会具有一定的随机性,通过多次采样并对采样结果进行集成,可以有效地缓解这个现象,并显著提高推理的性能。

一些工作在推理链条或答案层级进行粗粒度的集成,例如 Self-Consistency、Complex CoT、Verifiers。这种集成粒度过粗没有考虑到推理步骤,为此另一些工作考虑到了中间推理步骤进行细粒度的集成,例如 Self-Check、GRACE。除了通过概率进行采样外,Diversity-of-Thought 通过不同的提示文本来采样多跳推理路径。总的来说,基于多次采样的策略已经成为当前思维链推理中常用的技术。

5fd5cf90672e048198985c609e26716b.png

4.3.5 效率提升

尽管思维链推理已经展现出卓越的性能,其推理速度慢、使用开销大仍是不可忽视的问题。目前工作从减少推理链条标注成本、加快推理时解码速度和降低推理时的多次采样次数开销入手。

701b6e318fd0bda326ff1bbb52fa558a.png

思维链前沿应用

5.1 工具使用

虽然大模型具有非常强大的知识水平,其依然缺乏对于时效性内容以及领域外知识的更新能力,并且语言模型在数学计算、符号推理上也较为薄弱,在遇到这些问题时往往会产生幻觉现象。

为此,许多方法探究如何使用外部工具对 LLM 进行增强,通过提示或微调等方式引入使用工具(调用 API)的能力。网页和知识库检索能够让模型获取最新的外部知识,数学计算器与程序执行可以用以处理更为复杂的计算问题,调用其他模型能够获得其他模态(图像、视频、语音)的理解以及生成能力,甚至是与外部环境进行感知与交互,实现具身智能。

思维链推理在工具增强方法中起到了非常重要的作用。大多数情况下,模型对于工具调用的需求是隐含的。工具提高了大模型在单步“动作”下的处理能力,而思维链赋予了模型在推理过程中对于问题的分解,工具使用形式的思考以及工具调用结果的追踪处理能力。

5.2 决策规划

思维链提供了一种将问题分解为链式子问题的形式,从而处理较为复杂的问题。然而,对于更为复杂的任务,链式的分解形式并不充分。在前文中,我们介绍了将链式推理拓展到树结构、图结构等形式的工作。

除此之外,LLM+P,LLM+DP 等工作将问题分解为规划领域定义语言(Planning Domain Definition Language, PDDL)的形式,通过外部模块对过程进行规划调度,最终再转换回自然语言形式用 LLM 进行处理。这些方式都提供了更为灵活的分解以及调度过程,增强模型的规划能力。

在长期规划中,模型产生的错误会进行累积。并且在执行过程中可能会遇到计划外的错误,不断进行重试也无法得到正确的结果。因此需要提高模型在推理过程中对错误处理、总结,以及对计划更新的能力。Self-Refine  能够让模型对结果进行自我反馈以及优化,而  Reflexion  在此基础上加入长短期记忆,根据历史经验进行决策。AdaPlanner 等工作则能够根据环境反馈优化规划过程,提高灵活性。

规划增强的方法可以与工具增强、多智能体等方法进行结合,进一步增强大模型在复杂问题上的处理能力。

5.3 思维链蒸馏

思维链被视为大模型的一种涌现能力,然而,这种能力在一些规模较小的模型上并不是很显著,限制了小模型在推理时的表现。

当模型具备一定的思维链能力时,可以通过自监督与自我迭代的方法对推理能力进行强化,例如 LMSI,STaR 等。

但大多数情况下,小模型的思维链能力较弱,难以输出可靠的推理过程进行自我蒸馏。此时需要依靠具有较强思维链能力的大模型输出推理链条,再蒸馏给小模型,从而让小模型也获得一定的推理能力。一般来说,蒸馏时需要对数据进行筛选,有答案标签的情况下可以通过标注筛选出结果正确的推理过程,而在没有标注时也能通过 self-consistency  等方式投票得出较为可靠的答案。

除了推理结果的正确性外,推理过程的多样性对于蒸馏的效果也非常重要。SCoTD 发现针对每个样本采样多种推理路径能提高小模型的推理性能,SCOTT 通过对比解码和反事实推理等方式进一步提升思维链质量,缓解小模型学习到推理过程“捷径”的问题。

思维链的形式也会影响小模型的学习效果。DialCoT 将思维链过程拆解为多轮对话的形式,简化小模型的学习难度。MWPCoT 和 PlanningToken 等工作则在数学推理过程中引入高层次的信息表示,提高模型在推理过程中的一致性以及在不同问题上的泛化性。

不过需要注意的是,模型在多维度能力上存在着非常复杂的权衡。虽然通过蒸馏和微调的方式可以提高小模型在专一领域的推理能力,这个过程同时会损害模型在其他通用领域的性能(Specializing-Smaller-LM)。

713c436c8db7e1709c05b74534e48ae3.png

思维链未来研究方向

6.1 多模态思维链推理

目前的多模态思维链推理主要集中在图文领域,使用小模型进行微调,尚处于早期研究阶段。基于视觉-文本基座大模型和视频推理任务上存在着很大的探索空间。

6.2 可信思维链推理 | 减少大模型幻觉

基于大语言模型的思维链推理存在幻觉,如何减少幻觉,实现可信思维链推理是潜在的研究方向。

6.3 思维链理论

思维链有着惊人的性能,但其背后的原理和能力边界仍处于未知状态。从理论上探究思维链的能力来源、能力边界以及其相较于上下文学习的优点,可以更好地指导并促进思维链应用。

e653b178ccc8463d7a411a17edc6f284.png

相关推理基准和数据集

750392f65438bfffebe75c6e5bf97cab.png

常用的推理数据集和基准包含:

  • 数学推理:数学推理通常用来衡量模型的推理能力。

  • 常识推理:常识推理是根据日常生活中普遍知晓和普遍感知的知识进行推理、判断和理解的过程。

  • 符号推理:本文中符号推理特指对简单操作的模拟,这些操作对于人类而言十分简单,但对于语言模型而言则极具挑战性。

  • 逻辑推理:逻辑推理分为演绎推理、归纳推理和归纳推理。演绎推理是从一般前提得出结论的,归纳推理从特例中推导出一般结论,溯因推理对观察到的现象给出合理的解释。

  • 多模态推理:在现实世界中除文本以外还包含众多其他模态的信息,其中以视觉模态最为普遍。图文多模态推理需要结合图文回答问题。视频多模态推理引入了时间维度,相较于图文多模态推理更具挑战性。

93fcf3021839537f4cd83bafe395440f.png

总结

本文对当前思维链推理研究进行了充分的回顾和讨论。我们提出了泛思维链的概念,并且对思维链的方法从多个角度进行了总结和讨论。此外,我们还探讨了思维链在前沿领域中的应用。最后,我们指出了当前思维链研究的不足和挑战,给出了未来潜在研究方向的探讨。

更多阅读

4f9d445a79e6904d6051a7be7345122e.png

ed6dae350b4cc13503da63bd4a81fe50.png

c2506911f5e2e99e69d1e63df922cc31.png

76953c308892efa01d66099f2397177e.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

89536fc1fcb6d6fb1bb7c7f414f83ec5.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

bb41cf3532cd898447bdff90e48209ec.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1149063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【PC】2023年10月商店更新-闲游盒

亲爱的玩家朋友们,大家好! 欢迎大家来到2023年第十次商店更新! 万圣节即将到来,为了让大家可以在万圣节盛装出席,我们在10月商店更新中准备了邪恶诅咒,PGC 2023的专属宝物,以及RASH悲喜强势回归…

CentOS7安装配置MobaXterm使用换源处理虚拟机拍照备份与还原Linux常用命令

目录 一、centos7安装与配置 1.1 参考安装步骤 1.2 安装配置CentOS 7实操 1.2.1 配置虚拟机 1.2.2 登录CenOS 1.2.3 检测是否可联网 1.2.4 查看、设置IP地址 1.2.5 使用vi编辑ifcfg-ens33 1.2.6 重启网络服务 1.3 MobaXterm使用 1.3.1 官方下载地址 1.3.2 MobaXte…

数据结构——双向链表的实现

一、双向链表的结构 注意:双向链表又称带头双向循环链表 这⾥的“带头”跟前⾯我们说的“头节点”是两个概念,实际前⾯的在单链表阶段称呼不严 谨,但是为了同学们更好的理解就直接称为单链表的头节点。 带头链表⾥的头节点,实际…

计算机毕业设计选题推荐-美术馆微信小程序/安卓APP-项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

260亿!每部手机赚数千元,手机行业太赚钱了,难怪都想做手机

日前H公司公布了前三季度的业绩,净利润大幅增长两倍多,而营收仅增长2.4%,这显示出三季度仅是多卖了数百万部高端手机,利润就飙升了数百亿元,平均每部手机赚数千元。 该公司公布的业绩显示,前三季度营收增长…

【波形图】将波形图或波形图表的数据导出至文件

LabVIEW 提供了几种方法使用户能够轻松地以不同格式类型保存波形图、波形图形或二维图片。 在本文中,您将了解如何将波形图、波形图表或二维图片另存为图像的三种不同方法。 您可以使用以下三种方法将波形图、波形图表或二维图片保存为图像文件:​​​​…

1.3 安全攻击

思维导图: 1.3 安全攻击 定义: 安全攻击可以分为被动攻击和主动攻击。被动攻击:尝试获取或利用系统信息但不影响系统资源。主动攻击:尝试修改系统资源或影响系统的正常运行。 1.3.1 被动攻击 特点: 主要对传输数据…

【软件安装环境配置】VsCode安装和配置各种环境(保姆级)

一、VsCode 下载 1.官网下载 网站:Visual Studio Code - Code Editing. Redefined 打开网站 点击Download 根据操作系统(macOS、Windows、Linux)和版本下载 下载到本地 注意: 若下载很慢,或者下着下着就暂停了 可…

红队专题-从零开始VC++C/S远程控制软件RAT-MFC-远程桌面屏幕监控

红队专题 招募六边形战士队员[24]屏幕监控-(1)屏幕查看与控制技术的讲解图像压缩算法图像数据转换其他 [25]---屏幕监控(2)查看屏幕的实现7.1 屏幕抓图显示7.7 完善主控端 招募六边形战士队员 一起学习 代码审计、安全开发、web攻防、逆向等。。。 私信联系 [24]屏幕监控-(1…

2023/10/29总结

总结 踩坑记录 写代码的时候遇到了一个错误大概是这样的 io.jsonwebtoken.security.WeakKeyException: The signing keys size is 48 bits which is not secure enough for the HS256 algorithm. The JWT JWA Specification (RFC 7518, Section 3.2) states that keys used…

【设计模式】第14节:结构型模式之“代理模式”

一、简介 代理模式(Proxy Design Pattern)在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。 二、优点 关注点分离访问控制延迟实例化远程访问缓存增加附加功能 三、应用场景 访问控…

metaRTC集成flutter ui demo编译指南

概要 Flutter是由Google开发的开源UI工具包,用于构建跨平台应用程序,支持linux/windows/mac/android/ios等操作系统。 metaRTC新增flutter demo,支持linux/windows/mac/android/ios操作系统,此demo在ubuntu桌面环境下测试成功。…

Linux常用命令——chmod命令

在线Linux命令查询工具 chmod 用来变更文件或目录的权限 补充说明 chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件…

http协议/https协议

http协议(HyperText Transfer Protocol - 超文本传输协议): 在网络层中被广为人知的协议,想必没有学过计算机的人都知道http是有关网站,网络的,那么究竟其中有哪些东西是需要计算机相关人员掌握的&#xff…

2023年CCF中国开源大会“大模型时代的智能化软件工程新范式”分论坛成功举行...

2023年CCF中国开源大会“大模型时代的智能化软件工程新范式”分论坛于10月21日在湖南长沙成功举行。本次论坛聚焦大模型时代的智能化软件新生态以及相应的软件工程新范式,邀请了多位来自学术界和工业界的专家进行分享和交流,共设置了5个主题报告和1个Pan…

2023年中国多功能电子书包产量、销量及市场规模分析[图]

多功能电子书包是一种便携式电子设备,旨在提供类似于传统纸质书包的功能,但具有更多的数字功能。它可以存储、阅读、编辑和分享电子书籍、文档、图片和音频/视频文件等。 多功能电子书包行业的优点 资料来源:共研产业咨询(共研网…

如何取消磁盘的BitLocker加密?

C盘被加密了,该怎么取消加密呢? 下面提供详细步骤供参考: 步骤1. 打开开始菜单,并点击齿轮图标,打开[设置] 步骤2. 在Windows设置视窗中点击[更新和安全] 步骤3. 点击左侧的[设备加密],然后点击视窗右侧的…

在Qt中List View和List Widget的区别是什么,以及如何使用它们

2023年10月29日,周日晚上 目录 List View和List Widget的区别 如何使用QListView 如何使用QListWidget List View和List Widget的区别 在Qt中,QListView 和 QListWidget 是用于显示列表数据的两个常用控件,它们有一些区别和特点。 1. 数…

基于SpringBoot的图书电子商务网站设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 用户管理 图书分类管理 图书信息管理 订单管理 用户功能实现 图书信息 购物车 确认下单 我的收藏 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 社会发展日新月异,用计算机应用…

【蓝桥杯选拔赛真题05】C++超级素数 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析

目录 C/C++超级素数 一、题目要求 1、编程实现 2、输入输出 二、算法分析 <