FreeBASIC マニュアルのトップに戻る

FreeBASIC OpValueOf

目次演算子ポインタ演算子Operator * (Value of)←オリジナル・サイト

演算子 * (の値) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい


ポインタの逆参照です。

構文:
declare 演算子 * ( byref rhs as T pointer ) byref as T

用法:
result = * rhs
または
* rhs = value

パラメタ:
rhs
逆参照へのアドレス。
T
標準型, ユーザ定義型, 手続き型、のいずれか。

戻り値:
アドレス rhs に格納された値への参照を、返します。

記述:
演算子 * (の値) は、アドレスに格納された値の参照を返します。このため、逆参照演算子と呼ばれます。
演算対象は、いかなる方法でも、変更されません。
Any Pointer を除いて、どんな型の Pointer も、逆参照できます。

参照として、この演算子の結果を、代入の左側で、使用できます。

この演算子は、null ポインターの場合に使わないでください。参照が定義されていない(実行時エラーを引き起こす)からです。
これ以外の場合、ユーザーは、ポインター値が、有効なメモリーへのアクセスを誘導することを、確認する必要があります。
それ以外の場合、結果は未定義です。

この演算子を、ユーザ定義型のために、多重定義することができます。

例:
'このプログラムは、ポインタが示す値を利用するために * を使う例です。
Dim a As Integer
Dim pa As Integer Ptr

pa=@a 'ここで、'a' で、整数 ptr を指すのに、@ 演算子を使います。
' この場合、'a' は、標準の整数変数です'。

a=9     'ここで、'a' に値 9 を与えます。

Print "'a' の値は:";*pa
'ここで、ポインタを使って、'a' の値を表示します

*pa = 1 'ここで、'a' の値を変えるのに、ポインタを使います
Print "'a' の新しい値は:";a
'ここで、'a' の新しい値を表示します

Print

Dim s As String
Dim ps As String Ptr

ps = @s 'ここで、's' で、整数 ptr を指すのに、@ 演算子を使います。
' この場合、's' は、文字列変数です'。

s = "String"     'ここで、's' に値 "String" を与えます。

Print "'s' の値*psは:";*ps
'ここで、ポインタを使って、's' の値を表示します
Print "'ps' の値は:";ps

*ps = "Data" 'ここで、's' の値を変えるのに、ポインタを使います
Print "'s' の新しい値*psは:";s
'ここで、's' の新しい値を表示します
Print "'ps' の値は:";ps

Sleep


出力:
'a' の値は: 9
'a'の新しい値は: 1

's' の値*psは:String
'ps' の値は:1703616

's' の新しい値*psは:Data
'ps' の値は:1703616



方言差:
QBからの違い:
参照:
ポインタ演算子 に戻る
演算子 に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2021-03-03 08:04:01
日本語翻訳:WATANABE Makoto、原文著作者:LaananFisher

ホームページのトップに戻る

表示-非営利-継承