C++11'de dizi sınıfının kullanılmaya başlanması, C tarzı diziler için daha iyi bir alternatif sunmuştur. Dizi sınıfının C tarzı diziye göre avantajları özetle şunlardır.

Operations On Array

  1. at() :- Bu fonksiyon eleman içerisinde ki değerlere erişmek için kullanılır.
  2. get() :- Bu fonksiyon bize “at” gibi dizi içerisinde ki istediğimiz değeri geri döndürür. Bu fonksiyon Array containerı için özel bir üye methodu değildir. Tupple da bulunan get methodunun override edilmiş halidir.
  3. operator[] :- C de olduğu gibi buradada [] operatörü kullanılarak array içerisinde ki değerlere ulaşım sağlıyabiliriz.
#include<iostream>
#include<array> // array, at()
#include<tuple> // get()
using namespace std;
int main()
{
	array<int,6> ar = {1, 2, 3, 4, 5, 6};

	cout << "The array elements are (using at()) : ";
	for ( int i=0; i<6; i++)
		cout << ar.at(i) << " ";
	cout << endl;

	cout << "The array elements are (using get()) : ";
	cout << get<0>(ar) << " " << get<1>(ar) << " ";
	cout << get<2>(ar) << " " << get<3>(ar) << " ";
	cout << get<4>(ar) << " " << get<5>(ar) << " ";
	cout << endl;

//Hatalıdır böyle bir kullanıma get izin vermez.
/* 	for ( int i=0; i<6; i++)
		cout << get<i>(ar) << " ";
	cout << endl; */

	cout << "The array elements are (using operator[]) : ";
	for ( int i=0; i<6; i++)
		cout << ar[i] << " ";
	cout << endl;

	return 0;

}

Ekran çıktısı:

Ekran Resmi 2024-05-12 20.18.16.png

  1. front() :- Dizinin ilk elemanını değerinin adresini ve değerini döndürür.
  2. back() :- Diizinin son elemanının değerini ve adresini döndürür.
#include<iostream>
#include<array>
using namespace std;
int main()
{
	// Initializing the array elements
	array<int,6> ar = {1, 2, 3, 4, 5, 6};

	// İlk elemanı yazdıralım
	cout << "First element of array is : ";
	int &a=ar.front();
	cout <<a<< endl;

	// Son elemanı yazdıralım
	cout << "Last element of array is : ";
	int &b=ar.back();
	cout << b << endl;
	
	// İlk ve son elemanı referans aracılığı ile değiştirelim.
	a=10; // 1. Eleman 10 değeri atadık.
	b=60; // Son elemana 60 değeri atadık.
	
	// Görelim değişmiş mi.
	cout<<"array after updating first and last element \\n";
	for (auto x: ar)
		cout<<x<<" ";
	cout<<endl;

	return 0;
}

Ekran çıktısı:

Ekran Resmi 2024-05-12 20.25.43.png