エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Python で C++ の RAII をそのまま再現してはいけない - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Python で C++ の RAII をそのまま再現してはいけない - Qiita
この記事では、C++ の RAII クラスを Python 上で再現することで発生する問題と、コンテキストマネージ... この記事では、C++ の RAII クラスを Python 上で再現することで発生する問題と、コンテキストマネージャによる安全なリソース管理の実装例を紹介します。 背景 私がこの問題に遭遇したのは、C++ で書いたクラスを Pybind11 というライブラリを用いて Python 上でも使えるようにしていたときでした。(Pybind11 は C++ の関数やクラスを Python から呼び出せるようにできるライブラリです。) C++ ではリソースの確実な解放のため、デストラクタでリソースを解放する RAII (Resource Acquisition Is Initialization) のクラスをよく書きますが、その RAII のクラスを Python から呼び出せるようにした結果、デストラクタが呼ばれないという問題が発生しました。 環境 OS: Ubuntu 20.04 Python:

