std::array
- C++ kursu
- Başlangıç
- Ders 55/116
- 5 dk
std::array ile modern ve güvenli dizi kullanmayı öğrenirsin.
std::array
C++11'den beri std::array, C-style dizinin modern ve güvenli alternatifidir. Boyutu şablon parametresi olarak alır: std::array<int, 5> nums = {1, 2, 3, 4, 5};.
std::array, C-style dizi gibi sabit boyutludur ve bellekte aynı şekilde durur; ama .size() metoduyla boyutunu sorgulayabilir, range-based for ile güvenle gezebilir ve başka fonksiyonlara değer olarak geçebilirsin. Bu özellikler onu modern C++ kodunda tercih edilen yapı yapar.
std::array avantajı
std::array'in en büyük avantajı boyut bilgisi taşımasıdır. C-style dizide boyutu ayrı bir değişkenle tutman gerekirken std::array'de nums.size() doğrudan boyutu verir. Bu, hatalı dizin kullanımını önlemeye yardımcı olur.
Ayrıca std::array, for (int x : nums) biçiminde range-based for ile doğrudan gezebilir. C-style diziyi fonksiyona geçtiğinde boyut bilgisi kaybolur (pointer'a çürür); std::array'de ise bu bilgi korunur. Bu yüzden yeni kodlarda std::array tercih edilir.
Uygulama std::array boyutunu yazdır
std::array<int, 5> nums = {10, 20, 30, 40, 50}; biçiminde bir std::array tanımla ve std::cout << nums.size(); ile boyutunu yazdır. #include <array> başlığını eklemelisin. Çıktı 5 olmalı.
Başlangıç kodu
#include <iostream>
#include <array>
int main() {
// std::array tanımla ve size()'ı yazdır
return 0;
}Örnek çözüm
#include <iostream>
#include <array>
int main() {
std::array<int, 5> nums = {10, 20, 30, 40, 50};
std::cout << nums.size() << std::endl;
return 0;
}Beklenen çıktı
5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 std::array parçalarını eşle
| Kavram | Anlamı |
|---|---|
std::array |
Sınıf şablonu |
<int, 5> |
Tür ve boyut |
nums |
Değişken adı |
.size() |
Boyut metodu |
2 std::array<int, 3> a; a.size() kaç döner?
std::array<int, 3> a;
a.size()- 0
- 1
- 2
- 3 Doğru cevap
Açıklama: Boyut şablon parametresi 3'tür; size() 3 döner.
3 std::array şablon parametresini yaz
std::array<____> nums = {1, 2, 3, 4, 5};
std::array<int, 5> nums = {1, 2, 3, 4, 5};
Açıklama: <int, 5> tür ve boyutu belirtir.