サイトアイコン Embarcadero RAD Studio, Delphi, & C++Builder Blogs

ECMAScriptやPHPのような連想配列

Author: h.mohri

連想配列は[キーか]ら連想される内容(Value)をプログラムで登録しておき、必要なときに[キー]から検索した内容(Value)を取得できるデータコンテナです。ECMAScript(JavaScript)では変数にJSONを入力すると連想配列として扱うことができます。

 

JavaScript言語

[crayon-67638c5bf41e0736852466/]

 

PHP言語

[crayon-67638c5bf41e6500687694/]

このように、連想配列はさまざまなプログラム言語で利用されています。C++での連想配列は標準ライブラリのmapが使用できます。一般的に連想コンテナといわれています。では、C++Builder VCLアプリケーションのプロジェクトで標準ライブラリのmapを使って試してみましょう。

メインフォーム上にKeyを入力するTEditとボタンのOnClickイベントで結果表示するValue側のTEditを用意しました。

 

Button1を選択しオブジェクトインスペクタのイベントタブからOnClick項目をダブルクリックしイベントハンドラを作成します。

イベントハンドラのメソッドの上にmapを利用するためのインクルードを1行記述します。

[crayon-67638c5bf41e8602522779/]

イベントハンドラの中は下記のように記述します。

[crayon-67638c5bf41e9326983178/]

 コード中のl_associativeと言う変数が連想コンテナです。insert()関数を使った登録と直接Keyを指定した入力方法2つ書いています。l_associativeの中を呼び出す場合l_associative[キー]です。

 

実行すると下記のように、Edit1で「赤」を入力しボタンをクリックすると「きつね」とEdit2に表示されました。



 

2018年4月23日~5月4日までの月~金曜に毎日ブログを更新。Delphi / C++Builderに関する技術記事からエンジニアの日常まで、さまざまな話題を投稿します。お楽しみに!

日本人スタッフブログを一覧表示できる、こちらのページをブックマークしてください。

モバイルバージョンを終了