- GCは失敗。メモリは自分で管理せよ! その2©2ch.net
170 :デフォルトの名無しさん[sage]:2015/12/05(土) 14:33:31.47 ID:9PUwCRa0 - C++でRAIIを徹底しておくのが一番いいよ
解放タイミングのコントロールが必要になったら後からでも柔軟に対応できるし GCは解放に係る少し変わった条件が発生した時に滅茶汚いことをしなきゃならなくなる
|
- GCは失敗。メモリは自分で管理せよ! その2©2ch.net
172 :デフォルトの名無しさん[sage]:2015/12/05(土) 14:43:55.34 ID:9PUwCRa0 - 確保/解放を直に書くのはスピード的には一番速いだろうけど解放漏れバグの温床過ぎてネ
特に例外が絡むとやってられない状況になる
|
- GCは失敗。メモリは自分で管理せよ! その2©2ch.net
176 :デフォルトの名無しさん[sage]:2015/12/05(土) 14:59:01.89 ID:9PUwCRa0 - >>175
いやーリソース獲得した状態でファイルI/Oとかネットワークとかが絡む場合は終了じゃすまん場合が多いでしょ
|
- C++相談室 part121 [無断転載禁止]©2ch.net
13 :デフォルトの名無しさん[sage]:2015/12/05(土) 15:04:51.31 ID:9PUwCRa0 - えっ?constは1bitの書き換えも許さないという意味だと思うけど。。。
alias経由で書き換えられる可能性って例えばどういう場合だよ?
|
- C++相談室 part121 [無断転載禁止]©2ch.net
15 :デフォルトの名無しさん[sage]:2015/12/05(土) 15:17:58.50 ID:9PUwCRa0 - >>14
そりゃそうだ だけど基本そんなことしちゃダメ constをちゃんと使ってない既存のボロコードを使う場合とかにしょうがなくキャストするくらい
|
- GCは失敗。メモリは自分で管理せよ! その2©2ch.net
184 :デフォルトの名無しさん[sage]:2015/12/05(土) 15:50:01.56 ID:9PUwCRa0 - >>183
C++にはテンプレートがあるからリソースの型をテンプレート引数とするラッパーを作るのは そんなに面倒なことじゃないと思う あとC++でRAIIを徹底してればfainallyの必要性を感じたことはない fainallyを書かなければいけない時点で危なっかしいコードだと思う
|
- C++相談室 part121 [無断転載禁止]©2ch.net
20 :デフォルトの名無しさん[sage]:2015/12/05(土) 16:06:05.41 ID:9PUwCRa0 - const int *pを引数にとる関数があったとして、別スレッドで*pが書き換わる可能性を
コンパイラは考慮しなくてはいけないってルールってあるんだっけ?
|
- C++相談室 part121 [無断転載禁止]©2ch.net
21 :デフォルトの名無しさん[sage]:2015/12/05(土) 16:15:00.14 ID:9PUwCRa0 - そうだとしたらconst*なのにvolatile扱いしなくちゃいけないってことだよね
ほんまかいな?規格に書かれてるならその箇所を教えて欲しい
|
- C++相談室 part121 [無断転載禁止]©2ch.net
23 :デフォルトの名無しさん[sage]:2015/12/05(土) 17:13:38.32 ID:9PUwCRa0 - まああれか、const T* pについては別コンテキストからの書き換えに関してはconstの有無によらず同じことだから
関数の引数については呼び出される側においてはconstは最適化に寄与しないということには同意するわ ただし呼び出し側は関数から戻ってきた時に*pが変化していないことを仮定できるので最適化に寄与する
|
- C++相談室 part121 [無断転載禁止]©2ch.net
28 :デフォルトの名無しさん[sage]:2015/12/05(土) 20:42:57.85 ID:9PUwCRa0 - >>24
まーた変な例を持ちだすね その場合ならg_aはグローバルだから確かにそうなるけど ていうかそんなグローバル使うような糞コード書いて最適化効かねーとか言われてもw
|
- C++相談室 part121 [無断転載禁止]©2ch.net
35 :デフォルトの名無しさん[sage]:2015/12/05(土) 23:04:12.27 ID:9PUwCRa0 - >>29
全然例になっていない やり直し barの引数がconstじゃないんだからその動作は当たり前だろ だいたい俺は動作が変わるかどうかじゃなくconstの有無で最適化が効くかどうかという話をしてるつもりなんだが 俺の主張はconstを正しく付けることで最適化が効く場合があるから可能な限りconstは付けるべきだと言ってるだけ const付ければどんな場合でも最適化されるなどとバカなことは言ってない
|
- C++相談室 part121 [無断転載禁止]©2ch.net
38 :デフォルトの名無しさん[sage]:2015/12/05(土) 23:37:04.63 ID:9PUwCRa0 - >>37
>>23の反例になんてなってない 話が噛み合ってないだけだよ
|