読者です 読者をやめる 読者になる 読者になる

Play Siv3D!

ゲームとメディアアートのための C++ ライブラリ「Siv3D」

動的二次元配列

動的二次元配列

Siv3D June 2015 v2

動的二次元配列を作成する

# include <Siv3D.hpp>

void Main()
{
	Grid<int> g1(3, 3, -1);
	Grid<bool> g2(4, 2, false);

	Println(g1);
	Println(g2);

	WaitKey();
}


要素の個数を調べる

# include <Siv3D.hpp>

void Main()
{
	Grid<int> g1(3, 3, -1);
	Grid<bool> g2(4, 2, false);

	Println(g1.width, L" ", g1.height, L" ");
	Println(g2.width, L" ", g2.height, L" ");

	WaitKey();
}


要素にアクセスする

# include <Siv3D.hpp>

void Main()
{
	Grid<int> g1(3, 3, -1);
	Grid<bool> g2(4, 2, false);

	g1[0][1] = 5;
	g1[2][2] = 8;
	Println(g1);

	g2[0][0] = true;
	g2[1][1] = true;
	Println(g2);

	WaitKey();
}


配列が空かどうか調べる

# include <Siv3D.hpp>

void Main()
{
	Grid<int> g1(3, 3, -1);
	Grid<bool> g2(4, 2, false);
	Grid<double> g3;

	Println(g1.isEmpty);
	Println(g2.isEmpty);
	Println(g3.isEmpty);

	WaitKey();
}


行を追加する

# include <Siv3D.hpp>

void Main()
{
	Grid<int> g1(3, 3, -1);
	g1.push_row(5);

	Grid<bool> g2(4, 2, false);
	g2.push_row(true);

	Println(g1);
	Println(g2);

	WaitKey();
}


末尾の行を削除する

# include <Siv3D.hpp>

void Main()
{
	Grid<int> g1(3, 3, -1);
	g1.pop_row();

	Grid<bool> g2(4, 2, false);
	g2.pop_row();

	Println(g1);
	Println(g2);

	WaitKey();
}


要素をすべて削除する

# include <Siv3D.hpp>

void Main()
{
	Grid<int> g1(3, 3, -1);
	g1.clear();

	Grid<bool> g2(4, 2, false);
	g2.clear();

	Println(g1);
	Println(g2);

	WaitKey();
}


一次元配列としてアクセスする

# include <Siv3D.hpp>

void Main()
{
	Grid<int> g1(3, 3, -1);
	Grid<bool> g2(4, 2, false);

	Println(g1.getArray());
	Println(g2.getArray());

	WaitKey();
}


全ての要素を指定した値にする

# include <Siv3D.hpp>

void Main()
{
	Grid<int> g1(3, 3, -1);
	g1.fill(2);

	Grid<bool> g2(4, 2, false);
	g2.fill(true);

	Println(g1);
	Println(g2);

	WaitKey();
}