iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中怎么初始化二维数组
  • 196
分享到

C++中怎么初始化二维数组

2023-06-17 16:06:17 196人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关c++中怎么初始化二维数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C++的二维数组是不能用变量初始化的,像下面的代码肯定是编译不通过的:int i=5;&

这期内容当中小编将会给大家带来有关c++中怎么初始化二维数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

C++的二维数组是不能用变量初始化的,像下面的代码肯定是编译不通过的:

int i=5;  int j=4;  int a[i][j];

像这样的代码肯定是很多C++像我一样的初学者的困感,如果数组是在编译的阶段确定其内存位置的,而变量不能作为数组的维数.下面,用一个模板类,完成这种C++二维数组初始化的功能

template< class T> class Array2D{  private:  T* pData;  int dim1;  int dim2;  int dim1Index;  class Array1D{  private:  int length;  T* start;  public:  Array1D(T* start,int length):length(length),start(start){}  T& operator[](int index){  if(index>length){  throw out_of_range("数组第二维数越界");  }else{  return *(start+index);  }  }  };  public:  Array2D(int dim1,int dim2){  this->dim1dim1=dim1;  this->dim2dim2=dim2;  int size=dim1*dim2;  pData=new T[size];  }  Array1D operator[](int index){  return Array1D(pData+index*dim1,dim2);  }  void print(){  for(int i=0;i< dim1;i++){  for(int j=0;j< dim2;j++){  cout< < *(pData+dim1*i+j)< < " ";  }  cout< < endl;  }  }  };  int main(){  int index1=2;  int index2=2;  Array2D< int> test(index1,index2);  test[0][0]=1;  test[0][1]=2;  test[1][0]=3;  test[1][1]=4;  test.print();  }

用一个模板类实现这个功能,是C++二维数组初始化中一个不错的选择,但在实际中,是很少有人这样写的,这是在more effective C++给出的方法,目的是为了说明proxy模式,Array1D是作为一个proxy类存在的。

上述就是小编为大家分享的C++中怎么初始化二维数组了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网其他教程频道。

--结束END--

本文标题: C++中怎么初始化二维数组

本文链接: https://www.lsjlt.com/news/290815.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中怎么初始化二维数组
    这期内容当中小编将会给大家带来有关C#中怎么初始化二维数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#多维数组:(1)数组的声明:int[] a1;  //整数类型的一...
    99+
    2023-06-17
  • C++中怎么初始化二维数组
    这期内容当中小编将会给大家带来有关C++中怎么初始化二维数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C++的二维数组是不能用变量初始化的,像下面的代码肯定是编译不通过的:int i=5;&...
    99+
    2023-06-17
  • C#中怎么初始化一维数组
    C#中怎么初始化一维数组,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C#一维数组的概念一维数组在本质上是由同类数据构成的表一维数组可以如下例所示声明一个由 5 个整数组成...
    99+
    2023-06-17
  • 怎么在Java中初始化二维数组
    今天就跟大家聊聊有关怎么在Java中初始化二维数组,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;...
    99+
    2023-06-14
  • javascript中怎么初始化一维和二维数组
    javascript中怎么初始化一维和二维数组,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。var header_1= new Array(&qu...
    99+
    2023-06-03
  • C#中怎么初始化数组
    这篇文章给大家介绍C#中怎么初始化数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#数组初始化三大方法示例// Single-dimensional array (numbers).&...
    99+
    2023-06-17
  • 如何在Java中初始化二维数组
    本篇文章给大家分享的是有关如何在Java中初始化二维数组,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。常用的java框架有哪些1.SpringMVC,Spring Web MV...
    99+
    2023-06-14
  • c语言二维数组初始化的方法是什么
    在C语言中,有多种方式可以初始化二维数组。1. 使用循环进行逐个赋值:```cint arr[3][3];int i, j;for(...
    99+
    2023-08-31
    c语言
  • C#怎么初始化数组
    本篇内容介绍了“C#怎么初始化数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!初始化数组声明一个数组不会在内存中初始化数组。当初始化数组变...
    99+
    2023-06-17
  • C语言中一、二维数组如何创建和初始化
    这篇文章将为大家详细讲解有关C语言中一、二维数组如何创建和初始化 ,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。(壹)  一维数组的创建和初始化 1.1  数组的创...
    99+
    2023-06-29
  • java二维数组初始化的方法是什么
    Java二维数组可以使用以下几种方式进行初始化:1. 直接初始化:在声明数组的同时,直接给数组元素赋值。```javaint[][]...
    99+
    2023-09-16
    java
  • Python如何创建二维数组和初始化
    一、Python用什么表达二维数组         严格意义上说,Python中并没有数组的概念,Python中表达一组数据有多种形式,例如list,tuple,set等数据结构都可以表达一组数,并且这组数也没有C和C++中数组的的同质限制...
    99+
    2023-09-21
    开发语言 python
  • c语言数组怎么初始化
    本篇内容主要讲解“c语言数组怎么初始化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c语言数组怎么初始化”吧!C语言数组初始化的三种方式:1、在定义时直接赋值,语法“数据类型 arrayName...
    99+
    2023-07-04
  • c语言二维字符串数组初始化的方法是什么
    C语言中,可以使用以下两种方法初始化一个二维字符串数组:1. 使用字符串字面量初始化:可以使用花括号将字符串字面量括起来,并用逗号分...
    99+
    2023-10-20
    C语言
  • Perl中二维数组的引用和初始化方法
    这篇文章主要讲解了“Perl中二维数组的引用和初始化方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Perl中二维数组的引用和初始化方法”吧!Perl二维数组的引用和初始化Perl二维数组...
    99+
    2023-06-17
  • C语言如何实现二维数组的创建和初始化
    这篇文章给大家分享的是有关C语言如何实现二维数组的创建和初始化的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。二维数组的创建和初始化1二维数组的创建int arr[3][...
    99+
    2022-10-19
  • C#中怎么定义和初始化数组
    这篇文章给大家介绍C#中怎么定义和初始化数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一维数组 一维数组以线性方式存储固定数目的项,只需一个索引值即可标识任意一个项。在 C# 中,数组声明中的方括号必须跟在数据类型...
    99+
    2023-06-17
  • c语言中的数组怎么初始化
    这篇文章主要讲解了“c语言中的数组怎么初始化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言中的数组怎么初始化”吧!方法:1、定义数组时给所有元素赋初值,例“int a[5]={1,2,...
    99+
    2023-06-20
  • java二维数组初始化的方式有哪些
    Java中二维数组的初始化方式有以下几种:1. 静态初始化:直接指定数组元素的值。```javaint[][] arr = {{1,...
    99+
    2023-09-27
    java
  • C#中如何初始化数组
    这篇文章给大家介绍C#中如何初始化数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#数组初始化int[] iArray = new int[3]{2, 3, 4} 花括号被称为数组初始化器,数组初始化器只能在声明数...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作