[過去ログ] C++相談室 part164 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
202: (ワッチョイ b96e-ofsu) 2023/06/15(木)09:00 ID:K4jCDX8M0(1) AAS
シビアな状況でC++が使えないやつがCならOKなはずはない
203
(1): (アウアウウー Sadd-g1CP) 2023/06/15(木)10:11 ID:dLjlwX4ma(1) AAS
>>199
何が判ってないのかが判ってないパターンだな
まともな解答もらってても何が正しいのか(なぜ正しいのか)
すら判断出来なさそうなレベル
解答者に失礼
204
(1): (ワイーワ2 FF63-pDI4) 2023/06/15(木)10:56 ID:kyFBXozFF(1) AAS
他所スレで同じ様な流れが

>742
質問の仕方が悪いだけwww
欲しい情報を引き出すには一定以上の質問能力が必要

>743
質問の仕方が重要なのはその通りだけど
ここで問題にしてるのは自分が詳しくない領域では質問の仕方が悪かったかどうかも分からないってことでしょうよ

>744
>>742
質問のしかたさえ良ければ正確な情報が手に入ると思ってるのは素人だけだぞ?w
205
(1): (ワッチョイ 219b-q0yD) 2023/06/15(木)12:02 ID:J1cG0ikp0(2/3) AAS
>>201
いや、ポインタのサイズなんて全く気にしてない。
質問は、メモリの解放をコンテナに任せるならわざわざスマポで持つ意味ないよね? ってこと。
で、コンテナに任せるというのは元の質問(>>182)への回答に全くなってないよね? ってこと。
(その理由は>>184,200様の書いてくださってる通り)
つーかお前が何も分かってないのは>>195でreset()しなくて良いとかほざいてる時点でお察し。

>>203-204

>>203>>191で「reset()しなくても良い」とかほざいてて>>195と同レベ。

>>183-185,194,197,200
省2
206
(1): (テテンテンテン MMeb-jufV) 2023/06/15(木)12:29 ID:QcI//Xn+M(1) AAS
>>205
コンテナのsmart ptrの扱いは調べた?
コンテナの要素とポインタの参照先の違いについて根本的な誤解がありそう。

vectorはまだ構築していないインスタンス用のメモリ領域を予約するけど、smart ptrはそんなことしないよ。
vector<smart ptr>もsmart ptr の予約はするけど、smart ptrの参照先インスタンスの予約はしない。
207
(1): (ワッチョイ 219b-q0yD) 2023/06/15(木)13:15 ID:J1cG0ikp0(3/3) AAS
>>206
だから、結局任意のコンテナ、クラスに対してスコープ内でメモリを解放する方法は?
new で生ポを持って delete するか、スマポを持って reset するかだろ?

> vectorはまだ構築していないインスタンス用のメモリ領域を予約するけど、smart ptrはそんなことしないよ。
そりゃそう。
ゆえに、メモリを間違いなくリリースしたいなら reset すればよいのですねと>>190で述べている。
それで終わりなのにお前と来たら reset は不要だの元のコンテナの挙動に任せるだの、論旨を全く理解してないとんでもレスばっかり。

> vector<smart ptr>も……
論外。
誰もスマポのvectorの話なんてしてねえ。
208: (ワッチョイ 8bfb-Xx8j) 2023/06/15(木)14:56 ID:M9bt3STi0(1) AAS
186でも言ってるがstaticもしくはvirtualでデストラクタ使えよ
それがシンプルで高速で1行も無駄のない設計な
209: (ワッチョイ 01c9-6bUV) 2023/06/15(木)15:01 ID:B8g22vaD0(1) AAS
182の
>最も簡単なやり方は関数とか局所的なスコープとして切り出すことかと思いますが
がコンストラクタで確保してデストラクタで消す話というのはわかってる上で

>他に、オブジェクトに割り当てられているメモリを手動で解放する方法があったら教えてください。
なんじゃないの?

そんなものは無いっていう答えもあるにはあるけどサ
210: (ワッチョイ 13f0-8sUu) 2023/06/15(木)18:41 ID:QIwD56Ju0(1) AAS
最近IPP触り始めたんですが全部飽和演算で面食らってます
Modulo関数は無いんですか?
211
(2): (ワッチョイ fb8c-jufV) 2023/06/15(木)21:00 ID:W1C5TI4i0(1) AAS
>>207
ああ、ごめん。めっちゃデカイインスタンスのvectorじゃなくて、めっちゃデカイvectorね。
それなら実装依存だけど>184か、>192とか参照無効化の制限とかコピーコストとかあるけど>189。189はsmart ptrにしとけば実用上問題ないかね。vectorのイテレーターは保存するものじゃないし。
212
(1): (ワッチョイ c14e-8sUu) 2023/06/15(木)21:28 ID:3cvhbwG+0(1) AAS
実際の所、vectorならclear()→shrink_to_fit()でメモリが開放されないこってありうるの?
213: (ワッチョイ d17c-sLM4) 2023/06/15(木)22:10 ID:usfnoco+0(2/2) AAS
規格上はshrink_to_fit()にメモリ解放する義務はないし、実装定義で何やっても自由(capacityを増やすような真似だけは禁止)
shrink_to_fit()がなんにもしない実装でも一応規格準拠になる
そんな糞みたいな実装が実在するかは知らない
214: (US 0H0b-q0yD) 2023/06/16(金)02:13 ID:PZdB0bgSH(1) AAS
>>211
はい結局一人だけ違う話してた
ハァァ~~~~~(クソデカため息)
215
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ c13e-2rqm) 2023/06/16(金)11:31 ID:QEmhRLek0(1) AAS
>>212
基本的には効率的に実装されるものだと信じて良いと思うが
どういう実装が効率的であるかは実行環境の事情による。

たとえばメモリ管理がページ単位というのは普通のことだし
その場合にページ単位より細かく確保したり解放したりしても非効率になる。

常に何もしないというような実装はあまりないと思うけど
解放するほうが非効率だと考えられる状況では
shrink_to_fit を呼んでも解放しなかったり部分的にだけ解放する
ということはそれなりにあり得そうだと思うよ。
216
(1): (ワッチョイ 01c9-6bUV) 2023/06/16(金)12:08 ID:nWXjt7Za0(1) AAS
capacityと OS側からみた空きメモリはまた別かもしれんわけで
アロケーターがOSからじかに要求してる場合もあれば
OSへの要求回数を減らして内部でプールしてやりくりしてるのもあるし
制御したいレイヤーによっては全部自前でやるしかない という落ちにも
217: (ワッチョイ c14e-8sUu) 2023/06/16(金)12:26 ID:B2wRJ7jC0(1) AAS
>>215
まぁ、細かい単位のメモリだったら、実際に開放されているかどうかなんて、ほとんど動作に影響しないとも言えるしね
(未初期化変数の不具合が発覚しづらい、くらいか)
とりあえずshrink_to_fitを呼んでおいて、細かいことは気にしないのが一番かもしれないw
218: (ワッチョイ 934f-q0yD) 2023/06/16(金)12:46 ID:H6XPX5qB0(1) AAS
「STLコンテナ以外にも」という文言が読めてない文盲さんたちがvectorの話ばっかしててワロ
219: (ワッチョイ d969-2rqm) 2023/06/16(金)15:41 ID:KX+TErXo0(1) AAS
「STLコンテナ以外にも」はSTLコンテナも含むということ
STLコンテナの話をしても何もおかしくない
220: (アウアウウー Sadd-g1CP) 2023/06/16(金)15:43 ID:ly+Q1cW8a(1) AAS
いつものことだが
ほんの最初の数レスで終わってるのに
どうでも良い脱線ほど盛り上がってgdgdレスでスレが延びる
221: (アウアウウー Sadd-Xx8j) 2023/06/16(金)15:46 ID:/DJegtL/a(1) AAS
ほんそれ
回答終了してんのにちんこかゆい
1-
あと 781 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.012s