dynamicarray3d.cpp

来自「c++程序」· C++ 代码 · 共 59 行

CPP
59
字号
// DynamicArray3D.cpp: Implementierung der Klasse CDynamicArray3D.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "DynamicArray3D.h"

//////////////////////////////////////////////////////////////////////
// Konstruktion/Destruktion
//////////////////////////////////////////////////////////////////////

CDynamicArray3D::CDynamicArray3D(unsigned int iDimension1, unsigned int iDimension2, unsigned int iDimension3)
{
	// Declare a 3D array on the free store

	int i; int j; int k;

	// Save array dimensions
	m_Dimension1 = iDimension1;
	m_Dimension2 = iDimension2;
	m_Dimension3 = iDimension3;

	// First dimension
	m_Array = new float ** [iDimension1];

	for (i=0; i<(int) iDimension1; ++i)   
	{
		// Second dimension
		m_Array[i] = new float * [iDimension2];

		// Third dimension
		for (j=0; j<(int) iDimension2; ++j)   
		{
			m_Array[i][j] = new float[iDimension3];

			// Init all fields with 0.0f
			for (k=0; k<(int) iDimension3; ++k)   
				m_Array[i][j][k] = 0.0f;
		}	
	}
}

CDynamicArray3D::~CDynamicArray3D()
{
	// Remove the 3D array and all its sub arrays from the free store

	int i; int j;

	for (i=0; i<(int) m_Dimension1; ++i)
	{
		for (j=0; j<(int) m_Dimension2; ++j)   
			delete[] m_Array[i][j];

		delete[] m_Array[i];
	}
	
	delete[] m_Array;
	m_Array = 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?