shared_ptr用法

2023-09-21 10:52:55

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、初步了解

看的这篇csdn,shared_ptr的使用_shared_ptr用法_cainiaotuibianriji的博客-CSDN博客

文中有demo代码,然后想在codeblock上跑一下看看,但是因为环境配置问题,没有成功,在vs上跑成功了

代码如下

#include<iostream>
#include<memory>

using namespace std;

int main(int argc, char *argv[])
{
	//常量类型
	std::shared_ptr<int> i_p_1 = make_shared<int>(10);
	//std::shared_ptr<int> i_p_1=make_shared<int>{new int(10)};
	cout << "value : " << *i_p_1 << endl;							//10
	cout << "use count:" << i_p_1.use_count() << endl;				//1
	//copy
	std::shared_ptr<int> i_p_2 = i_p_1;
	cout << "i_p_1 use count:" << i_p_1.use_count() << endl;		//2
	cout << "i_p_2 use count:" << i_p_2.use_count() << endl;		//1
	//change
	*i_p_2 = 30;
	cout << "i_p_1 value:" << *i_p_1 << endl;						//30
	cout << "i_p_2 value:" << *i_p_2 << endl;						//30
	i_p_2 = nullptr;
	cout << "i_p_1 use count:" << i_p_1.use_count() << endl;		//1
	cout << "i_p_2 use count:" << i_p_2.use_count() << endl;		//1
	cout << "----- yz -----" << endl;
	return 0;
}



//实际打印结果
//value: 10
//use count : 1
//i_p_1 use count : 2
//i_p_2 use count : 2
//i_p_1 value : 30
//i_p_2 value : 30
//i_p_1 use count : 1
//i_p_2 use count : 0
//---- - yz---- -

然后感觉还挺复杂的,或者是这篇csdn讲的不好,暂时搁置。

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

更多推荐

NumPy数值计算

1、Numpy概念1.1Numpy是什么?Numpy是(NumericalPython的缩写):一个开源的Python科学计算库使用NumPy可以方便的使数组、矩阵进行计算包含线性代数、傅里叶变换、随机数生成等大量函数1.2为什么使用Numpy对于同样的数值计算任务,使用NumPy比直接编写Python代码实现,优点:

React小项目-在线计算器(下)

CONTENTS1.Django项目初始化2.登录/注册后端功能实现3.登录/注册前端界面设计4.登录前后界面的转换5.将React与Django结合并部署至云端本文为React项目(在线计算器)的下篇内容,主要为后端部分的开发,上篇可见:React小项目-在线计算器(上)。1.Django项目初始化我们先在项目根目录

使用Selenium和Python自动预订车票

在本文中,我们将探讨如何使用Selenium和Python自动预订车票。我们将以12306.cn网站为例,演示自动化预订车票的过程。通过阅读本文,您将更好地了解如何使用Selenium与网页进行交互。准备工作首先,我们需要安装Selenium库。您可以使用以下命令在您的Python环境中安装Selenium:shell

基于LUT查找表方法的图像gamma校正算法FPGA实现,包括tb测试文件和MATLAB辅助验证

目录1.算法运行效果图预览2.算法运行软件版本3.部分核心程序4.算法理论概述5.算法完整程序工程1.算法运行效果图预览将gamma=2.2和gamma=1/2.2的数据分别导入到matlab进行对比:2.算法运行软件版本matlab2022a3.部分核心程序`timescale1ns/1ps////Company:/

公共4G广播音柱有哪些用处

公共广播音柱有哪些用处公共广播音柱是一种用于广播音频信号的设备,一般安装在公共场所或街道上。它具有以下几个主要用处:1.喊话广播:公共广播音柱可以用于喊话广播,用来传达重要信息、紧急通知、警报等,如公共安全提示、灾害警报、紧急疏散指示等。2.音乐播放:公共广播音柱可以通过播放音乐来为公共场所创造愉悦的氛围,如在公园、广

【STM32】使用RTE ,从 0 开始创建一个 (keil) ARM MDK工程(纯keil,标准库,以STM32F103C8T6为例)

学习相关的基础知识请阅读本专栏其他文章,一定有你想要的。https://blog.csdn.net/weixin_43764974/category_11021363.html本文软硬件:STM32F103C8T6ARMMDK5.38ARMcomplier6ST-Linkv2StdPeriphDrivers(标准库)一

Java基础(二十四):MySQL

文章目录一、数据库(创建、显示、删除、备份、恢复)二、MySQL常用数据类型2.1数值型(整数)2.2数值型(二进制bit)2.3数值型(小数)2.4字符型2.5日期类型三、表结构的操作四、表的增删改查4.1插入INSERT4.2修改UPDATE4.3删除DELETE4.4(单表)查询SELETE五、函数5.1排序、统

详细介绍oracle分区的使用:如何创建修改删除分区、插入数据提示分区已满或者分区不存在如何操作、近期数据使用分区历史数据不分区如何操作

一、前言什么是表分区:Oracle的分区是一种将表或索引数据分割为更小、更易管理的部分的技术。它可以提高查询性能、简化维护操作,并提供更好的数据组织和管理。表分区和表空间的区别和联系:在Oracle数据库中,表空间(Tablespace)是用于存储表、索引和其他数据库对象的逻辑存储单元。而分区(Partition)是表

blog--2建站

建站1loginorsigningithub2在github账户中创建一个项目名为你的Github用户名.github.io这是存放生成出来的网站文件的地方3在本地环境编写网站(原因开头:每次更新发布都需要修改整个网站延迟2min左右)选择hugo主题模板网站的地方https://themes.gohugo.io/打开

微服务生态系统:使用Spring Cloud构建分布式系统

文章目录什么是微服务?为什么选择SpringCloud?SpringCloud的关键组件示例:构建一个简单的微服务步骤1:创建SpringBoot项目步骤2:配置Eureka服务发现步骤3:创建REST控制器步骤4:运行项目步骤5:使用Feign进行服务间通信构建更大规模的微服务生态系统1.安全性2.监控和追踪3.熔断

企业怎么优化固定资产管理

在优化固定资产管理的过程中,不仅要关注硬件设备和设施的维护,还要重视软件系统和数据管理。一些可能的方法:需要建立一套完整的资产管理系统。这个系统应该包括资产的采购、登记、使用、维修、报废等各个环节的管理流程。通过这个系统,可以实时了解每个资产的状态,及时发现并解决潜在的问题。应该对固定资产进行定期的盘点和维护。这不仅可

热文推荐