Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Struktur bietet ein vordefiniertes Funktionsobjekt, das den modular Vorgang der Ableitung des Rest nach Unterteilung zwischen Elementen ausführt.
template<class Type>
struct modulus : public binary_function <Type, Type, Type>
{
Type operator()(
const Type& _Left,
const Type& _Right
) const;
};
Parameter
_Left
Eine Zahl, die vom Parametertyp Typ ist, in eine andere Zahl durch das Funktionsobjekt unterteilt werden soll._Right
Eine Zahl, die vom Parametertyp Typ ist, der in andere durch das Funktionsobjekt unterteilt werden soll.
Rückgabewert
Der Rest der Division _Left / _Right.
Hinweise
Der Operator modulus<Typ> wird in ganzzahlige Typen für die elementaren Datentypen oder zu einem benutzerdefinierten Typ beschränkt, der operator% implementiert.
Beispiel
// functional_modulus.cpp
// compile with: /EHsc
#include <vector>
#include <functional>
#include <algorithm>
#include <iostream>
using namespace std;
int main( )
{
vector <int> v1, v2, v3 ( 6 );
vector <int>::iterator Iter1, Iter2, Iter3;
int i;
for ( i = 1 ; i <= 6 ; i++ )
{
v1.push_back( 5 * i );
}
int j;
for ( j = 1 ; j <= 6 ; j++ )
{
v2.push_back( 3 * j );
}
cout << "The vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
cout << "The vector v2 = ( " ;
for ( Iter2 = v2.begin( ) ; Iter2 != v2.end( ) ; Iter2++ )
cout << *Iter2 << " ";
cout << ")" << endl;
// Finding the element-wise remainders of the elements of v1 & v2
transform (v1.begin( ), v1.end( ), v2.begin( ), v3.begin ( ),
modulus<int>() );
cout << "The element-wise remainders of the modular division\n are: ( " ;
for ( Iter3 = v3.begin( ) ; Iter3 != v3.end( ) ; Iter3++ )
cout << *Iter3 << " ";
cout << ")" << endl;
}
Anforderungen
Header: <functional>
Namespace: std