【C++】————智能指针

【C++】————智能指针

 

                                                      作者主页:     作者主页

                                                      本篇博客专栏:C++

                                                      创作时间 :2024年8月20日

9efbcbc3d25747719da38c01b3fa9b4f.gif

一,什么是智能指针

在C++中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针(smart pointer)。智能指针是存储指向动态分配(堆)对象指针的类,用于生存期的控制,能够确保在离开指针所在作用域时,自动地销毁动态分配的对象,防止内存泄露。智能指针的核心实现技术是引用计数,每使用它一次,内部引用计数加1,每析构一次内部的引用计数减1,减为0时,删除所指向的堆内存。
  •  c++中用的最多的是下面三种智能指针
C++11中提供了三种智能指针,使用这些智能指针时需要引用头文件<memory>std::shared_ptr:共享的智能指针std::unique_ptr:独占的智能指针std:

Read more

开源协同∞智算赋能:GitCode+昇腾NPU部署CodeLlama全流程实践

开源协同∞智算赋能:GitCode+昇腾NPU部署CodeLlama全流程实践

作者简介:华为HCIP,昇腾NPU机构专业用户。 一.引言 最近在项目里用昇腾NPU部署CodeLlama-7B,踩了不少坑,也总结了一些经验。CodeLlama在代码生成这块确实好用,昇腾NPU的算力也够用,就是部署过程需要折腾一下。整个流程从环境搭建到性能调优,中间遇到的问题不少,比如模型格式转换、内存优化、推理速度提升等等。这篇文章主要记录一下实际部署CodeLlama-7B-hf的完整过程,包括环境配置、模型适配、性能优化和常见问题处理,希望能帮到有同样需求的开发者。 二.环境搭建和基本配置 1. 测试平台选择 我们选择 GitCode 作为代码托管平台。GitCode 是 ZEEKLOG 和华为云 CodeArts 联合推出的国内开源平台,主要优势是访问速度快,适合国内开发者使用。 主要功能包括: 1. Git 版本控制、仓库管理、WebIDE 在线开发 2. 分支管理、代码审查、Issue 管理等协作功能 3. GPG

如何在VsCode中使用git(免敲命令版本!保姆级!建议收藏!)

如何在VsCode中使用git(免敲命令版本!保姆级!建议收藏!)

目录 文章目录 前言 一、电脑安装git 二、在vscode安装git插件 三、克隆仓库 四、提交代码 五、创建分支、切换分支、合并分支 1、创建分支 2、切换分支 3、合并分支 六、创建标签和推送标签 七、解决冲突 八、拉取、抓取仓库 九、Reivew代码 总结 前言 随着Vscode的推出和普及,Git的使用也发生了变化,从原来的命令行管理仓库,再到现在用vscode从提交代码、解决冲突、reivew代码,整个管理仓库的过程全部都是可视化,大大降低了新手的使用难度,让新手也能轻松使用git 一、电脑安装git git官网:Git - 安装 Git 安装完git后,打开vscode显示这样的界面就是安装成功了

Cursor 2.0 多 Agent 模式使用的 Git Worktree 原理、实战与避坑指南

Cursor 2.0 多 Agent 模式使用的 Git Worktree 原理、实战与避坑指南

最近在看 Cursor 2.0 的新功能,发现它的多 agent 模式用了 git worktree 来实现并行任务。当时看到这个的时候我有点懵,因为虽然平时用 Git 用得挺多,但 worktree 这个指令我真的了解不多,甚至都不太确定它具体是干什么的。 后来专门去查了一下,发现这东西其实挺有意思的。说白了,worktree 就是让你在同一个 Git 仓库里同时维护多个工作目录,每个目录可以检出不同的分支或者提交。听起来好像有点抽象,但如果你遇到过下面这种情况,就能理解它解决的是什么问题了。 比如你正在开发一个新功能,代码写了一半,突然产品经理跑过来说线上有个紧急 bug 要修。传统做法是什么?要么把当前改动 stash 起来,切到 master 分支去修 bug,修完再切回来把 stash pop 出来继续干活。要么就是再 clone 一个仓库出来专门修

打开 AI 投研新时代 —— 深度解析 GitHub 高星项目 daily_stock_analysis

打开 AI 投研新时代 —— 深度解析 GitHub 高星项目 daily_stock_analysis

在投资者越发追求效率和自动化的今天,GitHub 上涌现出一批真正有用的“投研助理”类工具,其中最受关注的就是由开源社区贡献的 daily_stock_analysis 项目。截至目前,该项目已积累 几千颗 ⭐(star),成为 AI 驱动股票分析领域的一股清流。 🧠 什么是 daily_stock_analysis? daily_stock_analysis 是一个开源的 基于大语言模型(LLM)和自动化工具链的智能股票分析系统,可以自动抓取行情数据、结合新闻语义与技术面指标生成结构化的分析报告,并推送给用户。它的定位不是传统盯盘工具,而是一个 AI 智能分析与日终决策助手。([V2EX][1]) 📌 核心目标: 不再每日盯着密密麻麻的K线图、新闻列表和技术指标,而是让机器 每天自动整理、分析、归纳出清晰结论。 ⚙️ 核心功能亮点 1. AI 决策仪表盘 项目的核心输出是一份 AI