Mövzunu Açan
#0
C++20 ile birlikte gelen Ranges kütüphanesi, veri yapıları üzerinde işlem yapmayı daha kolay ve okunabilir hale getiriyor. Ranges, sırayla iterasyon yapma gereksinimini azaltarak, algoritmaları ve veri yapılarını bir araya getiriyor. Bu yazıda, C++ Ranges kullanımının temellerini ve bazı örneklerini inceleyeceğiz.
Öncelikle, Ranges kütüphanesi, STL (Standart Şablon Kütüphanesi) algoritmalarını daha etkili bir şekilde kullanmamıza olanak tanıyor. Örneğin, geleneksel bir vektör üzerinde işlem yaparken, genellikle bir döngü kullanarak her elemanı kontrol etmemiz gerekir. Ancak Ranges ile bu işlemi daha kısa bir kodla gerçekleştirebiliyoruz.
Aşağıdaki örnekte, bir vektörün elemanlarını filtreleyip, karelerini almak için Ranges kullanıyoruz:
[code]
#include
#include
#include
int main() {
std::vector numbers = {1, 2, 3, 4, 5, 6};
auto squares = numbers | std::views::filter([](int n) { return n % 2 == 0; })
| std::views::transform([](int n) { return n * n; });
for (int square : squares) {
std::cout
Öncelikle, Ranges kütüphanesi, STL (Standart Şablon Kütüphanesi) algoritmalarını daha etkili bir şekilde kullanmamıza olanak tanıyor. Örneğin, geleneksel bir vektör üzerinde işlem yaparken, genellikle bir döngü kullanarak her elemanı kontrol etmemiz gerekir. Ancak Ranges ile bu işlemi daha kısa bir kodla gerçekleştirebiliyoruz.
Aşağıdaki örnekte, bir vektörün elemanlarını filtreleyip, karelerini almak için Ranges kullanıyoruz:
[code]
#include
#include
#include
int main() {
std::vector numbers = {1, 2, 3, 4, 5, 6};
auto squares = numbers | std::views::filter([](int n) { return n % 2 == 0; })
| std::views::transform([](int n) { return n * n; });
for (int square : squares) {
std::cout