タグ

delphiとsmartpointerに関するbenokのブックマーク (2)

  • Delphiの無名メソッド型はインターフェース!?

    隆の開発日誌 Kotlin/Swift/Flutter/JavaScript/TypeScript/PHPWindows/macOS/Android/iOS/Webアプリなどを作ってます 「スマートポインタ、使ってる? – 全力わはー」のエントリーを読んで、ソースコードの type Auto<T: class> = reference to function: T; TAuto<T: class> = class(TInterfacedObject, Auto<T>) … のところがわからなかったので調べてみました。 無名メソッドとは 無名メソッドは、名前のない手続き・関数です。 「reference to procedure」型や「reference to function」型の変数に代入できます。 以下のコードは、「reference to procedure」型の変数に無名メソ

    Delphiの無名メソッド型はインターフェース!?
  • スマートポインタ、使ってる? - Swanman's Horizon

    使ってません(でした) 僕自身も2009年頃に匿名メソッド使ってスマートポインタ作れるよ的な記事を書いてましたが、ぶっちゃけ使ってませんでした。 というのも、こちらの実装を見てもらうと分かるんですが、書くのが面倒だったんですね。 後述のクラス等と合わせるためにリンク先とはクラス名は違いますが、 procedure Test1; var sl: TFunc<TStringList>; begin sl := TAuto<TStringList>.Create(TStringList.Create); // TStringListを2回書かないといけない! sl.Add('hogehoge'); end; こんな感じでやたら長くなるので、それだったら別にtry-finally書いちゃうかなと思ってました。 使い始めました(実装1) で、ある時「そういえばDelphiの(超限定的な)型推論使うと

    スマートポインタ、使ってる? - Swanman's Horizon
  • 1