制約とStringとRecord

レコード(とか配列とか)の要素に文字列を入れる場合の定石が分からなくて困る。

String(1 .. 512)
たぶん元Cプログラマ。Adaではおすすめできない?
Ada.Strings.Unbounded.Unbounded_String
お手軽思考。現実的にはこれが1番使われてる?
access String
05から匿名でaccess出来るようになったらしい。この場合allは無くてもaliased'Addressを受け取れる。OOPとの相性は良い?

制約しないとreocrdの要素につっこめないのが不便なんだよな。副プログラムのパラメタは普通Stringで宣言するからUnboundedだと変換がめどい。かといってaccessでも'Addressとか.allがそのたびに必要になるんだよな。それにしてもAda.Strings.Boundedは使い道無いなぁ。