skip to Main Content

Transformacje kontenera (C++)

Ostatnio opisywałem jak kontener można wyświetlić, dziś powiem jak można kontener podać transformacji. Przykładowo każdy element w wewnątrz wektora pomnożyć przez 5 i wynik zwrócić do tego samego wektora.
Załóżmy że mamy wektor z takimi liczbami

I chcemy te każdą z tych liczb pomnożyć przez 5 w celu osiągnięcia takiego wyniku:
Najnajbardziej oczywistą rzeczą jest wykorzystanie funkcji transform znajdującej się w bibliotece <algorithm>. Trzeci parametr w funkcji transform służy do określenia miejsca do którego będą umieszczane wartości zwracane przez funkcję (tutaj to jest wyrażanie lambda)
Jak widać wykorzystałem wyrażenie lambda (tylko VS 2010 i późniejsze). Po chwili zastonowienia, doszedłem do wniosku że można liczbę do wyrażenia lambda przekazać jako referencję, dzięki temu można wykorzystać funkcję for_each

Paweł Sołtysiak

Programista, domowy kucharz i "amator amerykańskiej polityki".
Zbieram informacje z całej sieci, po odrzuceniu chwastów i dodaniu swojej opinii publikuje na blogu.

Back To Top