今の住処から徒歩2分圏内に、つけめんをウリにした麺屋が2軒、4分圏内にするとプラス1軒ある。つけ麺屋に限らず、ラーメン屋、それに似た形態というだけでも少なくとも専門店が更に2軒、怪しげなところを入れると2~3件増える。メニューにラーメンがあるところとなると、もう少し多いようだ。範囲をもう少し広げると、テレビで有名店に修行させて頂いてラーメン専門店にした店など、もしかしたらちょっとしたラーメン激戦区なのかもしれない。

つけ麺屋のうち、徒歩2分圏内の1軒は某有名店の支店であり、開店時間中に行列が絶えたのを見たことがない。また、もう一軒は最近出来たこともあり前者に比べると行列は短いものの、他店で評判のよかったつけ麺を更に改善したとのことで、あるラーメンの評価では総合で最高の星3つだそうだ。

そういう行列に並ぶのはご近所さんばかりではない。遠方から来る方もいらっしゃるのだが、その駐車が目につく。いわゆる路駐だ。
公道であれば取り締まりもするだろう。しかし、すぐにマンションの敷地内、という私道内に入るためだろうか、駐禁取り締まりが来た試しがない。お店側も近隣の駐車場を借りたりと対策はとっているようだし、注意もしているようなので改善はされているが、残念ながらまだあるのが実情だ。

外部から来る人にとっては一時的なことなのだろうけれど、生活している側からすると「また駐まっている。邪魔だなあ」と思うことが多い。そういう道を迂回できればいいのだが、そうはいかないのである。

何かいい方策はないだろうか、と思案しているところである。
これは私の推測部分が多い記事である、ということを前置きに・・。

しかし、プロシージャや関数では、引数を ByVal (値渡し)や ByRef (参照渡し)のどちらかで受け取るかを指定できることをご存じの方も多いだろう。

値渡しと参照渡しについての差異は、仕事を依頼されたときの資料の渡され方、という例だと分かりやすいと思う。
一方はその資料をコピーするので、、自分で好き放題落書きしても元の資料には影響がない場合。これは原本の内容を変えられては困る場合などには行うことである。
もう一方は資料を共有する場合。最近はやりのエコなどの影響で、必要な部分のみ修正を入れるような時がこれに該当する。

これ、前者が値渡し/後者が参照渡しの説明なのである。

もう少し言えば、値渡しはコピーするので、その分メモリという資源を食う。コピー用紙の無駄遣いの概念に重ね合わせれば分かりやすいだろう。
参照渡しは重要なモノで元の値を変えたくない場合には適さないが、場所を食わない。置き場さえきちんと決めておけばよいが、一時に大勢で利用するには向かない。
実際の使い分けもそのようにして使い分けるとよい。

さて、VBAには直接的に「ポインタ」という概念を意識することは通常ないだろう。しかし、上記の参照渡しこそ、ポインタの概念そのものなのである。
ポインタとは、「ここの場所(アドレス)のを見てね」とその場所(アドレス)を指し示す(ポイントする)ことで、該当するモノを使い回しメモリの消費を防ぐ(だけではないだろうけど)ことが出来る技術である。コピーする時間も、コピーして新たな置き場所を確保する必要もないため、その分高速になるといえる。

ただし、注意点がある。
該当するPC内での処理ならいいのだが、LANで繋がっているPCやインターネットサイト上のPCにポインタを渡してもダメである。相手のPCはこちらのメモリのアドレスを参照できるわけではないからだ。

VB.netになったことでの最大の特徴は「オブジェクト指向言語として使えるようになった」ということである。オブジェクト指向一色になったのではなく「従来のようなコーディングもできる」ということのとのようである。ただ、言語体系がちょっと変わってしまっているが・・。

VB.netを触ると、VBAのクラスモジュールではできなかったことを試したくなるってもんだ。
そう、オーバーロードと継承。そのうち、継承は似たようなこと、クラスを常駐させるとか、特定のクラスのコンストラクタで生成する、などでもできるのだが・・。

試してみたら、至極簡単♪これなら私でも簡単に使える。

VBAのオブジェクト指向化がもう少し進むといいな、と思った次第である。