C++ std::replaceの使い方(vector, 文字列の置換)



例1:vectorの要素を置き換える

ソースコード

vectorの「1」を「0」に置き換える

#include <algorithm>
#include <iostream>
#include <vector>

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

    // 1を0におきかえる
    std::replace(v.begin(), v.end(), 1, 0);

    // 表示
    std::cout << "v = { ";
    for (int i = 0; i < v.size(); i++)
        std::cout << v[i] << ", ";
    std::cout << "}" << std::endl;
}

実行結果

v = { 0, 2, 3, 0, 2, }



例2:文字列の場合

ソースコード

文字列の「a」を「z」に置き換える。

#include <algorithm>
#include <iostream>
#include <vector>
#include <string>

int main() {
    std::string s = "abcabca";

    // aをzにおきかえる
    std::replace(s.begin(), s.end(), 'a', 'z');

    // 表示
    std::cout << "s = " << s << std::endl;
}

実行結果

s = zbczbcz