首页 > 其他分享 >类的数组,数组指针,指针数组

类的数组,数组指针,指针数组

时间:2024-05-24 20:25:57浏览次数:20  
标签:int value ++ 数组 MyClass 指针

在C++中,类的数组、类的数组指针和类的指针数组是三种不同的数据结构,它们各自有不同的用途和特性。下面我将分别给出它们的示例和说明。

1. 类的数组

类的数组是类的多个对象的集合,这些对象在内存中连续存储。


cpp复制代码

class MyClass {
public:
int value;
MyClass(int v) : value(v) {}
};
int main() {
// 创建一个包含5个MyClass对象的数组
MyClass arr[5] = {MyClass(1), MyClass(2), MyClass(3), MyClass(4), MyClass(5)};
// 访问数组中的元素
for (int i = 0; i < 5; ++i) {
std::cout << "arr[" << i << "].value = " << arr[i].value << std::endl;
}
return 0;
}

2. 类的数组指针

类的数组指针是指向类的数组首元素的指针。通常用于动态分配和访问类的数组。


cpp复制代码

class MyClass {
public:
int value;
MyClass(int v) : value(v) {}
};
int main() {
// 动态分配一个包含5个MyClass对象的数组
MyClass* arrPtr = new MyClass[5] {MyClass(1), MyClass(2), MyClass(3), MyClass(4), MyClass(5)};
// 访问数组中的元素
for (int i = 0; i < 5; ++i) {
std::cout << "arrPtr[" << i << "].value = " << arrPtr[i].value << std::endl;
}
// 释放动态分配的内存
delete[] arrPtr;
return 0;
}

3. 类的指针数组

类的指针数组是多个指向类对象的指针的集合,这些指针在内存中连续存储。每个指针可以指向不同的对象或同一个对象的不同实例。


cpp复制代码

class MyClass {
public:
int value;
MyClass(int v) : value(v) {}
};
int main() {
// 创建一个包含5个MyClass指针的数组
MyClass* ptrArr[5];
// 为每个指针分配一个MyClass对象
for (int i = 0; i < 5; ++i) {
ptrArr[i] = new MyClass(i+1);
}
// 访问数组中的元素
for (int i = 0; i < 5; ++i) {
std::cout << "ptrArr[" << i << "]->value = " << ptrArr[i]->value << std::endl;
}
// 释放每个指针指向的内存
for (int i = 0; i < 5; ++i) {
delete ptrArr[i];
}
return 0;
}

标签:int,value,++,数组,MyClass,指针
From: https://blog.csdn.net/qq_62760348/article/details/139183796

相关文章

  • 48.C语言初阶指针整理
    先来简单的了解指针可以说地址即是指针通过指针(地址)能找到以它为地址的内存单元存放于指针中的值都被当成地址处理一个简单的指针inta=10;int*p=&a;inta=1;int*pa=&a;char*pc=&a;//取出地址一样printf("%p\n",pa);printf("......
  • 第三讲 栈、队列和数组 (1)
    文章目录第三讲栈、队列和数组3.1栈3.1.1出栈元素的不同排列与卡特兰数3.1.2栈的顺序表实现3.1.3共享栈3.1.4栈的链表实现3.1.5栈的两种实现的优缺点3.1.6c++中的栈(s......
  • C语言----深入理解指针(3)
    1.字符指针变量//intmain()//{//charch='w';//char*pc=&ch;//printf("%c",*pc);//return0;//}/*intmain(){//char*p="abcdef";//chararr[]="abcdef";//常量字符串abcdef\0//......
  • 小苯的好数组
    题目描述大白熊给了小苯一个长度为nnn的数组aaa,这次他希望小苯从数组中选择一个子序列(下方备注有定义解释),满足这个子序列构成的数组是一个“好数组”。大白熊定义好数组是:如果一个数组按升序排序后和原来不完全相同,则其是一个好数组。例如[3,2,2][3,2,2][3,2,2] 升序排......
  • 1-数组-11-二分查找-LeetCode704
    1-数组-11-二分查找-LeetCode704参考:代码随想录LeetCode:题目序号35更多内容欢迎关注我(持续更新中,欢迎Star✨)Github:CodeZeng1998/Java-Developer-Work-Note技术公众号:CodeZeng1998(纯纯技术文)生活公众号:好锅(Lifeismorethancode)博客园:CodeZeng1998其他平台:CodeZeng19......
  • SQL Server 去掉数组项
    declare@srctextnvarchar(max)='a,b,c';declare@deltextnvarchar(max)='b';declare@rtnTextnvarchar(max);--SQLServer去掉数组项SELECT@rtnText=STUFF((SELECT','+valueFROMSTRING_......
  • Leetcode-152 乘积最大子数组
    Leetcode-152乘积最大子数组题目描述示例1:示例2:解题思路一种错误的解题思路正确的思路(一)C++代码正确的思路(二)C++代码题目描述给你一个整数数组nums,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例1:输入:......
  • React后台管理(八)-- 开发页面前准备---插槽以及函数组件传值
    文章目录前言一、插槽的使用1.父组件结构如下2.子组件接受插槽内容二、父子函数组件传值1.父组件传值给子组件(1)父组件定义属性传值给子组件(2)子组件通过props去接收属性值2.子组件传值父组件(1)父组件接收子组件的值,更新数据(2)子组件通过方法,将值传出给父组件,类似vue的......
  • 有序数组的平方
    leetcode:977题需求:给定一个有序数组,返回数组所有元素平方之后的结果,要求平方后的数组依然有序。注意:数组是有负数的。例:[-5,1,2,3]暴力解法:先平方,后使用排序算法排序。双指针思路:根据数组可以看出<-[-5,1,2,3]->,平方后的数组的大小是从两边往中间逐渐缩小的。所以......
  • 指令指针和寄存器:深入理解及其计算与操作
    在计算机科学中,指令指针和寄存器是两个关键的概念,它们在处理器执行指令时起着重要作用。本文将详细讲解指令指针和寄存器的基本概念,探讨指令指针的计算和操作,帮助读者深入理解这些底层硬件的工作原理。一、指令指针和寄存器的基本概念1.1指令指针指令指针(InstructionP......