例外こわい - Togetter
Twitterのつぶやきマッシュアップメディア!
@togetter_jpをフォロー
マイページ
メニュー
設定
ログイン
トップ
ニュース
社会
地域
芸能・スポーツ
IT・Web
科学・教養
カルチャー
趣味
生活
仕事
ネタ・お笑い
ログ・日記
震災
311
物資
なりきり
中国
iwj
生活保護
支援
速報
国内
アジア
アメリカ
ヨーロッパ
その他
政治
経済
国際
法律
環境
コラム
東京
東京近郊
北海道
東北
関東
北陸・信越
東海
近畿
中国・四国
九州・沖縄
海外
芸能
テレビ
ラジオ
野球
サッカー
ゴルフ
格闘技
競馬
モータースポーツ
その他
Android
Apple
インターネット
パソコン
モバイル
ガジェット
サイト制作
プログラミング
その他
科学
テクノロジー
エネルギー
数学
物理
宇宙
自然
人文
建築
心理
その他
アニメ
ゲーム
マンガ
アイドル
映画
音楽
書籍
演劇
ファッション
社会学
カメラ
車・バイク
電車
旅行
釣り
歴史
アート
デザイン
動物
その他
ハウツー
レシピ
グルメ
恋愛
マネー
節約
健康・医療
教育
ペット
起業・ベンチャー
経営
マーケティング
会計・人事
法務
就職・転職
語学・資格
ネタ
お笑い
大喜利
画像・動画
やってみた
その他
ログ
日記
思い出
雑談
メモ
飲み会
議事録
イベント
セミナー
復興
原発
支援
政府
自治体
トップ
>
IT・Web
> 例外こわい
2011/01/08 17:45:25
IT・Web
編集可能
例外
+
例外こわい
例外について。
by
kumagi
15 fav
1273 view
Fav
15
お気に入りに登録ならここをクリック!
まとめ
メニューを開く
一括削除
std::next_permulation を使う場合は do-while が便利です。 RT
@aizen76
: do-whileに関しては仕事を通しても一度も使った事がないな…
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 15:23:02
swap( a.first, a.second ); RT
@tozangezan
: pairは二つの値を入れ替えるのにmake_pair(a.second,a.first)でいけるので楽ということに気がついた
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 15:45:28
@tozangezan
std::swap は C++ やるなら覚えておいたほうがいいです。使うときは std::swap( a, b ); じゃなくて using std::swap; swap( a, b ); って呼ぶか、あるいは boost::swap を使うべきですが。
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 15:47:58
goto 使うくらいならラムダ式使いますし。
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 15:59:25
多重ループから脱出したいときは、該当ループをラムダ式にして return すればいいのよん。
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 16:01:45
別関数に切り分けるのと違って、ラムダ式ならローカル変数を参照キャプチャできますし。
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 16:02:47
正常系でループ脱出目的に例外を投げるのは、どうなんだろう…。 RT
@ZAC_CPPER
: あとは、わざと例外を投げる。
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 16:04:24
まぁ正常系と異常系の区別って意外と難しいけど。
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 16:07:24
例外投げるのはあくまでも例外だった時だけだw
返信する
RTする
ふぁぼる
aizen76
2011/01/08 16:07:50
あとC++の例外は怖いから…マジで…
返信する
RTする
ふぁぼる
aizen76
2011/01/08 16:08:37
@aizen76
デストラクタを発行するからコストが高い、という記述は見かけたのですが、例外を投げなくてもデストラクタは呼ばれるのでそこが本質ではないと思うのです。でも例えばどこが怖いのでしょうか。
返信する
RTする
ふぁぼる
kumagi
2011/01/08 16:14:38
@kumagi
例外安全を考慮してないコードの場合、オブジェクトの保持する資源がリークしたり、最悪の場合はオブジェクトが不完全な状態になってクラッシュしたりしますね。
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 16:17:30
@kumagi
Exceptional C++を読むとわかるのですが,C++の場合はとにかく例外安全を意識しないとリソースリークが置きる可能性があります そしてこの例外安全を意識するととんでもなく問題が複雑になるのです…
返信する
RTする
ふぁぼる
aizen76
2011/01/08 16:18:24
@kumagi
例外安全を意識すればいい話ではありますが、世に出回る C++ コードの大半は例外安全とか完全に無視して書かれてるのが現状です。
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 16:18:29
Exceptional C++読んでから例外コワイと思うようになりました まさに最終兵器
返信する
RTする
ふぁぼる
aizen76
2011/01/08 16:19:48
@SubaruG
例外安全に気を遣ってないコードは明示的に例外を使おうが使わなかろうが危険なので、それ自体は明示的に例外を使う事を避ける理由にはならないと思うのです。いつも投げて良い理由にはなりませんが「例外のコスト」って何だろう、と。
返信する
RTする
ふぁぼる
kumagi
2011/01/08 16:21:06
@aizen76
怖さを知らずに使いまくる人の方が怖いんじゃなかろうか,と思いました
返信する
RTする
ふぁぼる
ryutorion
2011/01/08 16:21:31
「例外安全」って表現すると所謂「例外」特有の問題と捉えられるわけだが、「意図しないタイミングで実行を中断される」ことに注目すると、シグナルセーフという別の問題も浮き上がってくる
返信する
RTする
ふぁぼる
kikairoya
2011/01/08 16:22:04
@kumagi
例外安全に気を使ってなくても結果的に安全に動くコードはたくさんありますよ?
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 16:22:28
@ryutorion
それもその通りです まぁなんでも理解せずに使っているのが一番怖い…
返信する
RTする
ふぁぼる
aizen76
2011/01/08 16:22:53
複数の非同期シグナルを扱うプログラムでシグナルセーフなコードを書くのは、C++で例外安全なコードを書くよりもずっと難しい
返信する
RTする
ふぁぼる
kikairoya
2011/01/08 16:23:10
ExceptionalC++の例外安全の項は読んだけど「あぁswapを使って回避するのか偉いなぁ面倒くさいなぁ」とかに感心が行って「例外を使わないようにしよう」という結論には至らなかった気がするけれど、何か読み飛ばしたか…。
返信する
RTする
ふぁぼる
kumagi
2011/01/08 16:23:21
それに比べりゃ、例外安全なんて自分でデストラクタとコピコンとコピー代入演算子を書かなければ達成できるちょろいもんですね
返信する
RTする
ふぁぼる
kikairoya
2011/01/08 16:24:46
コードを書く上では、設計が悪いコードであっても、付き合っていかなきゃいけない。「これは設計が悪いから俺が1から書き直すわ」ってんじゃ、いつまでたっても終わらないじゃん。
返信する
RTする
ふぁぼる
SubaruG
2011/01/08 16:24:54
@tsuchinokoboxer
たった3行ほどのシンプルなコードから例外が発生する実行パスが23個もでてくるあたりC++の恐しさを感じたりします
返信する
RTする
ふぁぼる
aizen76
2011/01/08 16:27:11
Content from Twitter
残りを読む(41)
ブログへ
iframe版
拡張版
張付けプレビュー
Fav
15
あわせて読みたい
例外とはっ
コンストラクタでの例外はあり?なし?
例外安全とか幻想
Scalaでの例外とEither
例外の実装
powered by Preferred Infrastructure
コメント
リプライなしで語り合うC++クラスタこわい
返信
trinity_site
2011/01/08 23:50:41
0
C++、ある程度理解してたつもりだけども、例外安全とか全然分かってない。ヤバイ。リアル業務でガチで絡んできそうなのですが・・・。
返信
asahiufo
2011/01/09 01:57:33
0
コメントを入力してください。
Twitterにも投稿する
みんなのおすすめ商品
商品を編集
おすすめ商品を登録する
設定を変更する
まとめを作成する
プロフィール
フォローする
分散トランザクションとか匿名通信とかC++とかやります。2010年未踏ユース匿名通信の人。RubyもPythonも好き。
kumagi
link
twitter
rss
ロックフリー
stm
concurrent
lockfree
フォローされている
8
アップデート
まとめ
36
84
プログラマ志望の学生は独学してることをES上で武器にできるか
135
言語のJITコンパイラをその言語自身で作る事の意義とは
93
LevelDBを読む人たち
お気に入り
28
コメント
10
新着のまとめ
エア実況まとめ~( ՞ ਊ ՞)~
new
ワールドビジネスサテライト(2012年5月31..
new
ツイッター小説 お気に入りセレクト 2012/..
new
瀬上さんの語りまとめ
new
Hasta La Vista大阪イベント
new
もっと見る
@togetter_jp
最近追加された商品
新訂 徒然草 (岩波文庫)
日本語は美しいか―若者の母語意識と言語観が語るもの
徒然草 (新明解古典シリーズ (10))
徒然草 (英文版)―Essays in Idleness (タトルクラシックス )
対談 美酒について―人はなぜ酒を語るか (新潮文庫)
オススメ
マイスター
トゥギャ通
埼玉南部の奴らがみた変な虹の写真まとめ
TEDを使ってリーディング・リスニング・ライテ..
「放射能汚染地域に住む人の血って、ほしいですか..
高橋健太郎さん、クラブカルチャーと風営法につい..
なんか素敵な無線LANが飛びまくってる
new
映画HESOMORI-ヘソモリ-絶賛公開なう
もっと見る
「#お前らお勧めの戦争映画を教えろ」
new
#キッザニアにあるべき職業体験を挙げてけ セレ..
new
即身仏合コン
new
仏像合コン
new
#黒バスキャラが彼氏だったら まとめ
new
#黒バスキャラと同棲 まとめ
new
もっと見る
第80回「日食写真と昭和格差」
号外「みんなの金環日食まとめ―画像から教養ま..
第79回「虚構新聞とJリーグ」
第78回「コンプガチャとIT系かあちゃん」
第77回「びろーんと自宅警備隊」
第76回「Appleとパンツクッキー」
もっと見る
コメント