valarray::operator=
将元素分配给值指定直接或作为其他valarray一部分还是由slice_array,gslice_array,mask_array或indirect_array的valarray。
valarray<Type>& operator=(
const valarray<Type>& _Right
);
valarray<Type>& operator=(
valarray<Type>&& _Right
);
valarray<Type>& operator=(
const Type& _Val
);
valarray<Type>& operator=(
const slice_array<Type>& _Slicearray
);
valarray<Type>& operator=(
const gslice_array<Type>& _Gslicearray
);
valarray<Type>& operator=(
const mask_array<Type>& _Maskarray
);
valarray<Type>& operator=(
const indirect_array<Type>& _Indarray
);
参数
_Right
要复制的valarray到valarray的操作数。_Val
将分配的值更改为valarray的操作数的元素。_Slicearray
要复制的slice_array到valarray的操作数。_Gslicearray
要复制的gslice_array到valarray的操作数。_Maskarray
要复制的mask_array到valarray的操作数。_Indarray
要复制的indirect_array到valarray的操作数。
返回值
第一个成员运算符使用的副本替换控件序列顺序控件由 _Right。
第二个成员运算符与第一个相同,但是,与 Rvalue引用声明:&&。
第三个成员运算符用 _Val的副本替换控件序列的每个元素。
其余的成员运算符替换它们的参数选定的控件序列的那些元素,由 operator[]仅生成的。
如果某个成员的值替换控件序列的取决于初始控件序列的成员,则结果是未定义的。
备注
如果控件序列的长度更改,结果通常是未定义的。 此实现,但是,该角色仅仅是无效的任何指针或引用到该控件序列的元素。
示例
// valarray_op_assign.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> va ( 10 ), vaR ( 10 );
for ( i = 0 ; i < 10 ; i += 1 )
va [ i ] = i;
for ( i = 0 ; i < 10 ; i+=1 )
vaR [ i ] = 10 - i;
cout << "The operand valarray va is:";
for ( i = 0 ; i < 10 ; i++ )
cout << " " << va [ i ];
cout << endl;
cout << "The operand valarray vaR is:";
for ( i = 0 ; i < 10 ; i++ )
cout << " " << vaR [ i ];
cout << endl;
// Assigning vaR to va with the first member functon
va = vaR;
cout << "The reassigned valarray va is:";
for ( i = 0 ; i < 10 ; i++ )
cout << " " << va [ i ];
cout << endl;
// Assigning elements of value 10 to va
// with the second member functon
va = 10;
cout << "The reassigned valarray va is:";
for ( i = 0 ; i < 10 ; i++ )
cout << " " << va [ i ];
cout << endl;
}
要求
标头: <valarray>
命名空间: std