Üdvözlöm, Ön a szó jelentését keresi. A DICTIOUS-ban nem csak a szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a szót egyes és többes számban mondani. Minden, amit a szóról tudni kell, itt található. A szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

Főnév

std::replace (tsz. std::replaces)

  1. (informatika) A std::replace egy STL algoritmus C++-ban, amely lehetővé teszi, hogy egy tartományban adott érték(ek)et lecserélj másik értékre.

Szintaxisa:

std::replace(begin_iterátor, end_iterátor, keresett_érték, új_érték);
  • begin_iterátor: a tartomány kezdete
  • end_iterátor: a tartomány vége
  • keresett_érték: az az érték, amit keresünk és cserélni szeretnénk
  • új_érték: az az érték, amire lecseréljük

Mit csinál?

  • Bejárja a megadott tartományt (pl. vector, list, array, string stb.)
  • Minden olyan elemet, ami megegyezik a keresett értékkel, lecserél az új értékre.
  • In-place működik → azaz nem hoz létre új konténert, az eredetit módosítja.



Példa:

#include <iostream>
#include <vector>
#include <algorithm>  // for std::replace

int main() {
    std::vector<int> numbers = {1, 2, 3, 2, 4, 2, 5};

    std::replace(numbers.begin(), numbers.end(), 2, 99);  // 2-est lecseréljük 99-re

    for (int n : numbers) {
        std::cout << n << " ";
    }

    return 0;
}

Kimenet:

1 99 3 99 4 99 5

Mire használható?

✅ Egy adott érték lecserélése másik értékreEgyszerűen és gyorsan használható (O(n) idő) ✅ Használható bármilyen iterátorral elérhető STL konténerrel:

  • vector
  • list
  • deque
  • array
  • string stb.



Megjegyzés:

  • Ha nem akarod az eredeti konténert módosítani, hanem egy másolatot szeretnél, használhatod a std::replace_copy algoritmust:
std::replace_copy(source.begin(), source.end(), std::back_inserter(destination), keresett_érték, új_érték);

→ Ez új konténerbe írja az eredményt, az eredeti érintetlen marad.



Összefoglalva:

👉 std::replace = adott értékek lecserélése a tartományban 👉 Helyben dolgozik → az eredeti konténert módosítja 👉 Ha másolat kell → std::replace_copy 👉 Használható szinte bármilyen STL konténerre