[過去ログ]
C++相談室 part164 (1002レス)
C++相談室 part164 http://mevius.5ch.net/test/read.cgi/tech/1683600652/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
506: デフォルトの名無しさん (ワッチョイ 0928-rP6O) [sage] 2023/07/17(月) 23:46:35.71 ID:mG7BHGLy0 >>502 >GetObjが内部でnewされていると、この作りではいつかメモリ不足になってしまいます。 この懸念は普通の作りなら基本的に無用。基本的に問題無い (1) Obj1という型がポインタやハンドルではなくクラスの場合: objはwhile(1) { }のブロックの中で構築されるので ループの終わりでデストラクタが呼ばれる(破棄される)から、 Device::GetObj()が真っ当な作りならnewしたポインタをObj1のインスタンスobjに引き渡し、 Obj1クラスが真っ当な作りならobjが破棄されるときに引き渡されたポインタをdeleteする(ように作る からダングリングポインタは生じない(ようにできる (2) Obj1という型がポインタやハンドルの場合 確保したポインタやハンドルはいずれクローズせねばならない。 ループが次の繰り返しに入る前に確実にクローズすればよい http://mevius.5ch.net/test/read.cgi/tech/1683600652/506
508: デフォルトの名無しさん (ワッチョイ 0928-rP6O) [sage] 2023/07/17(月) 23:58:52.90 ID:mG7BHGLy0 訂正orz、 誤: ループの終わりでデストラクタが呼ばれる(破棄される)から、(>>506 正: ループが次の繰り返しに入る前かループを抜ける際にデストラクタが呼ばれる(破棄される)から http://mevius.5ch.net/test/read.cgi/tech/1683600652/508
511: 502 (ワッチョイ ae7a-CYkg) [sage] 2023/07/18(火) 00:38:24.79 ID:ibbV/iYr0 皆さんありがとう。 >>506 ブロックスコープは知りつつも、ループのブロックの場合はループ中は寿命が継続すると思っていました。 ループ時に毎度後始末されるなら安心です。 http://mevius.5ch.net/test/read.cgi/tech/1683600652/511
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.841s*