- 構造体のポインタ(*_ptr)
- デフォルトコンストラクタ
( M1::I1::f_STRUCT_var::f_STRUCT_var()/M1::I1::v_STRUCT_var::v_STRUCT_var() )
インスタンス生成時、新規T*データを作成し初期化します。
(使用例)
// STRUCT_var型のインスタンス宣言
M1::I1::f_STRUCT_var fstr_v;
M1::I1::v_STRUCT_var *vstr_v = new M1::I1::v_STRUCT_var;
// いずれも暗黙のうちにデフォルトコンストラクタが呼ばれる
- T*コンストラクタ
( M1::I1::f_STRUCT_var::f_STRUCT_var( f_STRUCT * )/M1::I1::v_STRUCT_var::v_STRUCT_var( v_STRUCT * ) )
インスタンス生成時、パラメタで指定されたTポインタをメンバ変数_ptrに設定します。
(使用例)
M1::I1::f_STRUCT_var *fstr_v1 = new M1::I1::f_STRUCT_var;
// fstr_v1を使用した処理
・・・
M1::I1::f_STRUCT_var fstr_v2(fstr_v1);
// T*コンストラクタ
- コピーコンストラクタ
( M1::I1::f_STRUCT_var::f_STRUCT_var( const f_STRUCT & )/M1::I1::v_STRUCT_var::v_STRUCT_var ( const v_STRUCT & ) )
インスタンス生成時、指定されたパラメタの_ptrのデータのコピーを作成し、自身の_ptrに設定します。
(使用例)
M1::I1::f_STRUCT fstr_v1;
// fstr_v1を使用した処理
・・・
M1::I1::f_STRUCT_var fstr_v2(fstr_v1);
// コピーコンストラクタ
- コピーコンストラクタ(var型)
( M1::I1::f_STRUCT_var::f_STRUCT_var( const f_STRUCT_var & )/M1::I1::v_STRUCT_var::v_STRUCT_var ( const v_STRUCT_var & ) )
インスタンス生成時、指定されたパラメタの_ptrのデータのコピーを作成し、自身の_ptrに設定します。
(使用例)
M1::I1::f_STRUCT_var fstr_v1;
// fstr_v1を使用した処理
・・・
M1::I1::f_STRUCT_var fstr_v2(fstr_v1);
// コピーコンストラクタ
- デストラクタ
( M1::I1::f_STRUCT_var::~f_STRUCT_var ()/M1::I1::v_STRUCT_var::~v_STRUCT_var() )
インスタンス破壊時、_ptrの領域を解放します。
- T*代入演算子
( M1::I1::f_STRUCT_var & M1::I1::f_STRUCT_var::operator=( f_STRUCT * )/M1::I1::v_STRUCT_var & M1::I1::v_STRUCT_var::operator=( v_STRUCT * ) )
(使用例)
M1::I1::f_STRUCT *fstr_1 = new M1::I1::f_STRUCT;
// fstr_1を使用した処理
・・・
M1::I1::f_STRUCT_var fstr_v2;
fstr_v2 = fstr_1;
// T*代入演算子
- 代入演算子
( M1::I1::f_STRUCT_var & M1::I1::f_STRUCT_var::operator=( const f_STRUCT & )/M1::I1::v_STRUCT_var &M1::I1::v_STRUCT_var::operator=( const v_STRUCT & ) )
(使用例)
const M1::I1::f_STRUCT *fstr_1 = new M1::I1::f_STRUCT;
// fstr_1を使用した処理
・・・
M1::I1::f_STRUCT_var fstr_v2 = fstr_1;
// 代入演算子
- 代入演算子(var型)
( M1::I1::f_STRUCT_var &M1::I1::f_STRUCT_var::operator=( const f_STRUCT_var & )/M1::I1::v_STRUCT_var &M1::I1::v_STRUCT_var::operator=( const M1::I1::v_STRUCT_var & ) )
(使用例)
M1::I1::f_STRUCT *fstr_1 = new M1::I1::f_STRUCT;
// fstr_1を使用した処理
・・・
M1::I1::f_STRUCT_var fstr_v2;
fstr_v2 = fstr_1;
M1::I1::f_STRUCT_var fstr_v3 = fstr_v2;
// 代入演算子
- 交換演算子
( M1::I1::f_STRUCT_var::operator M1::I1::f_STRUCT*() const/M1::I1::v_STRUCT_var::operator M1::I1::v_STRUCT*() const )
(使用例)
M1::I1::f_STRUCT *fstr_1 = new M1::I1::f_STRUCT;
// fstr_1を使用した処理
・・・
M1::I1::f_STRUCT_var fstr_v2;
fstr_v2 = fstr_1;
M1::I1::f_STRUCT_var *fstr_v3 = (M1::I1::f_STRUCT*)fstr_v2;
// 交換演算子
- ポインタ演算子
( M1::I1::f_STRUCT *M1::I1::f_STRUCT_var::operator->() const/M1::I1::v_STRUCT *M1::I1::v_STRUCT_var::operator->() const )
(使用例)
M1::I1::f_STRUCT *fstr_1 = new M1::I1::f_STRUCT;
fstr_1->ef1 = 1;
fstr_1->ef2 = 2;
M1::I1::f_STRUCT_var fstr_v2;
fstr_v2 = fstr_1;
fstr_v2->ef1 = 3;
fstr_v2->ef2 = 4;
// ポインタ演算子