掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ポインタ参照 (ID:32727)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
好き嫌いの類かもしれませんが・・・ type TPtrHogeHoge=^THogeHoge; THogeHoge=Record Hoge1:Integer; Hoge2:Integer; end; 上記の宣言のとき、下記の関数のようにポインタで使用する場合 下記の(1)と(2)、どちらで記述しますか? procedure aaa(PHoge: Pointer); begin //(1) THogeHoge(PHoge^).Hoge1 //(2) TPtrHogeHoge(PHoge)^.Hoge1 end; TPtrHogeHogeの宣言が、あってもなくても、(1)なら通用します。 でも、この宣言がなければ、ローカルに宣言したり、 pHoge: ^THogeHoge のように、変数を宣言して使うことになるでしょう。 そういった点を見ると、(1)は便利な記述になるのですが、 単なるPointer型を逆参照(でいいの?)すると、その型って何? 型無しのなにか? それをキャストしてもいいの? と、なんか、違和感があるんですよね。 それに、(2)よりもコストがかかりそうなイメージが・・・。 質問というよりアンケートみたいなものなので、興味があればレスください。 また、速度面で説明できる人がいたら、ぜひ解説をお願いしたいです。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.