首页 > 其他分享 >自己写数据结构

自己写数据结构

时间:2023-11-09 20:23:50浏览次数:35  
标签:index const int 自己 return 数据结构 data Size

#include<iostream>
#include<array>
template<typename T,size_t S>
class Array {
private:
	T m_data[S];
public:
	constexpr int Size()const {
		return S;
	}
	T& operator[](int index) { return m_data[index]; }
	const T& operator[](int index) const { return m_data[index]; }
	T* Data() { return m_data; }
	const T* Data()const { return m_data; }
};
int main() {
	int size = 10;
	Array<int, 10>data;
	//static_assert(data.Size() < 8, "Size is too large!");
	const auto& newdata = data;
	memset(data.Data(), 0, data.Size() * sizeof(int));
	for (int i = 0; i < data.Size(); i++) {
		data[i] = 2;//data[i]是左值
		std::cout << newdata[i] << std::endl;
		
	}
}

 

标签:index,const,int,自己,return,数据结构,data,Size
From: https://www.cnblogs.com/wangkaixin-yy/p/17822704.html

相关文章

  • Leangoo领歌免费敏捷工具中如何看到关于自己的所有任务?
    ​个人工作台个人工作台是个人最新待办工作的展示区域,它展示了个人所有的待办任务,最新访问的项目和工作动态,当一个人在多个项目和看板上工作时,它可以帮助个人快速看到个人在各个项目的工作,快速进入任务看板处理任务。 ​www.leangoo.com​......
  • 高级数据结构学习笔记
    0.普适技巧动态开点:节省空间。标记永久化:分块的块标记本质就是这个。可以节省空间。1.区间最值&历史区间最值link2.二维线段树二维区间静态:二维ST表二维前缀动态:二维树状数组二维区间动态:二维线段树例题:LuckandLove、P3157[CQOI2011]动态逆序......
  • 数据结构的两个层次
    逻辑结构:描述数据元素之间的逻辑关系与数据的存储无关,独立于计算机是从具体问题抽象出来的数学模型 2.物理结构(存储结构)数据元素及其关系在计算机存储器中的结构(存储方式)是数据结构在计算机的表示 关系:存储结构是逻辑关系的映象与元素本身的映象逻辑......
  • 考研_数据结构
    绪论1.算法原地工作是指辅助空间不随着数据规模的增大而增大,不是说不需要辅助空间2.栈和队列属于逻辑结构而非存储结构,它们的实现才属于存储结构3.数据元素是数据的基本单位,数据项是数据的最小单位4.程序需要算法和数据结构结合在一起才能实现,仅仅把算法用某种计算机语言来描述......
  • 【文档翻译】面向数据设计(以及为啥用OOP可能会搬起石头砸自己的脚)
    本文档译自gamesfromwithin.com的文章"Data-OrientedDesign(OrWhyYouMightBeShootingYourselfInTheFootWithOOP)",作者Noel,原文参见此处概述-Overview想象一下:在开发周期的末尾,你的游戏卡的像乌龟在爬,但是你却没有在profiler发现任何明显的性能热点。真正的......
  • 数据结构三元顺序表稀疏矩阵的加法程序
    三元顺序表稀疏矩阵的加法三元顺序表是什么?稀疏矩阵又是什么?稀疏矩阵的加法和普通矩阵的加法有什么不同?你看到这些是不是都有些困惑。那么现在我们就来讲讲这些陌生的东西。三元顺序表将稀疏矩阵非零元素对应的三元组所构成的集合,按照行优先的顺序排列成一个线性表,毫无疑问......
  • 自己实现一个自动检测网卡状态,并设置ip地址,源码见文章底部
    阅读本文前,请先学习下面几篇文章《搞懂进程组、会话、控制终端关系,才能明白守护进程干嘛的?》《简简单单教你如何用C语言列举当前所有网口!》《Linux下C语言操作网卡的几个代码实例!特别实用》《安卓如何设置开机自动启动某个程序?ramdisk+init.rc给你搞定》一、usb网卡应该如......
  • 关于关于怎么样让自己的虚拟机连上网络,以及Xshell怎么连上虚拟机
    当你使用虚拟机来模拟不同的操作系统环境或进行开发和测试时,连接虚拟机到网络以及使用远程终端工具如Xshell是非常重要的。在本篇博客中,我将向你介绍如何使你的虚拟机连接到网络,以及如何使用Xshell来连接到虚拟机。连接虚拟机到网络在开始之前,确保你已经安装了虚拟机软件,比如VMwar......
  • 怎样选择适合自己的ITSM软件?
    市场上ITSM解决方案琳琅满目,每种解决方案都有其优点和缺点。这使选择决策过程变得复杂,当组织机构决定投资ITSM软件时,很难如愿选择到一款最适合自己的帮助台软件。而小编有一套系统的决策方法,可以帮助您简化评估过程,以下是选择适合组织机构需求的帮助台的一些建议。 1、设定目......
  • python初学者学习笔记-第三章-数据结构
    chapter3/数据结构3.1列表(List)序列是Python中最基本的数据结构,最常见的序列是列表和元组。序列中的每个元素都分配一个索引,第一个索引是0,第二个索引是1,依此类推。序列都可以进行如下操作,包括:索引,切片,加,乘,查询。Python中可以通过组合一些值得到多种复合数据类型。其中最常......