std::replace
Megjelenés
Főnév
std::replace (tsz. std::replaces)
- (informatika) A
std::replaceegy 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 kezdeteend_iterátor: a tartomány végekeresett_é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,stringstb.) - 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ékre ✅ Egyszerűen és gyorsan használható (O(n) idő) ✅ Használható bármilyen iterátorral elérhető STL konténerrel:
vectorlistdequearraystringstb.
Megjegyzés:
- Ha nem akarod az eredeti konténert módosítani, hanem egy másolatot szeretnél, használhatod a
std::replace_copyalgoritmust:
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
- std::replace - Szótár.net (en-hu)
- std::replace - Sztaki (en-hu)
- std::replace - Merriam–Webster
- std::replace - Cambridge
- std::replace - WordNet
- std::replace - Яндекс (en-ru)
- std::replace - Google (en-hu)
- std::replace - Wikidata
- std::replace - Wikipédia (angol)