<目次>
(1) C++の「->」(アロー演算子)とは?意味や使い方をご紹介
(1-1) C++の「->」(アロー演算子=arrow operator)とは?
(1-2) 構文
(1-3) サンプルプログラム
(1) C++の「->」(アロー演算子)とは?意味や使い方をご紹介
(1-1) C++の「->」(アロー演算子=arrow operator)とは?
●ドット演算子との違いは?
(1-2) 構文
●①メンバ変数へのアクセス
ポインタ名->変数名
p2->b
●②メンバ変数の更新
ポインタ名->変数名=XXXX
p2->b=10.5
(1-3) サンプルプログラム
●①メンバ変数へのアクセス
#include <iostream> #include <string> using namespace std; int main() { //# 構造体体の定義 struct sample { //# 初期化方法① //# C++では構造体定義の中で初期化可能 int a; char b; }; //# 構造体の変数 struct sample p1; //# 構造体の変数を指すポインタ struct sample* p2; //# ポインタを初期化 p2 = &p1; //# 構造体変数のメンバに値を代入 p1.a = 65; //# p1は通常の変数なので「ドット演算子」でメンバにアクセス //# ■■■ p2はポインタなので「アロー演算子」でメンバにアクセス ■■■ cout << "================" << endl; cout << "p1.a= " << p1.a << endl; cout << "p2.a= " << p2->b << endl; }
●②メンバ変数の更新
#include <iostream> #include <string> using namespace std; int main() { //# 構造体体の定義 struct sample { //# 初期化方法① //# C++では構造体定義の中で初期化可能 int a; char b; }; //# 構造体の変数 struct sample p1; //# 構造体の変数を指すポインタ struct sample* p2; //# ポインタを初期化 p2 = &p1; //# 構造体変数のメンバに値を代入(変数経由) p1.a = 65; //# ■■■ 構造体変数のメンバに値を代入(ポインタ経由) ■■■ p2->a = 80; //# p1は通常の変数なので「ドット演算子」でメンバにアクセス //# p2はポインタなので「アロー演算子」でメンバにアクセス cout << "================" << endl; cout << "p1.a= " << p1.a << endl; cout << "p2.a= " << p2->a << endl; }