Udostępnij za pośrednictwem


replace (STL Samples)

Illustrates how to use the replace Standard Template Library (STL) function in Visual C++.

The replace algorithm replaces all elements that match Old_Value from the range [First, Last) with New_Value.

Example

// replace.cpp
// compile with: /EHsc
// Illustrates how to use the replace function.
//
// Functions:
//    replace - Replace all elements from the sequence that match value
//              with another value.

// disable warning C4786: symbol greater than 255 characters,
// okay to ignore
#pragma warning(disable: 4786)

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

using namespace std;


int main()
{
    const int VECTOR_SIZE = 8 ;

    // Define a template class vector of integers
    typedef vector<int > IntVector ;

    //Define an iterator for template class vector of integer
    typedef IntVector::iterator IntVectorIt ;

    IntVector Numbers(VECTOR_SIZE) ;   //vector containing numbers

    IntVectorIt start, end, it ;

    start = Numbers.begin() ;   // location of first
                                // element of Numbers

    end = Numbers.end() ;       // one past the location
                                // last element of Numbers

    //Initialize vector Numbers
    Numbers[0] = 10 ;
    Numbers[1] = 20 ;
    Numbers[2] = 10 ;
    Numbers[3] = 15 ;
    Numbers[4] = 12 ;
    Numbers[5] = 7 ;
    Numbers[6] = 9 ;
    Numbers[7] = 10 ;

    cout << "Before calling replace" << endl ;

    // print content of Numbers
    cout << "Numbers { " ;
    for(it = start; it != end; it++)
        cout << *it << " " ;
    cout << " }\n" << endl ;

    // remove all elements from Numbers that match 10
     replace(start, end, 10, 35) ;

    cout << "After calling replace, to replace all 10's with 35" << endl ;

    // print content of Numbers
    cout << "Numbers { " ;
    for(it = start; it != end; it++)
        cout << *it << " " ;
    cout << " }\n" << endl ;

}

Output

Before calling replace
Numbers { 10 20 10 15 12 7 9 10  }

After calling replace, to replace all 10's with 35
Numbers { 35 20 35 15 12 7 9 35  }

Requirements

Header: <algorithm>

See Also

Concepts

Standard Template Library Samples