- 1 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 20:05:20.33 ]
- The C++ Standards Committee
www.open-std.org/jtc1/sc22/wg21/ Wikipedia ja.wikipedia.org/wiki/C%2B%2B11 C++11/C++1y 16 toro.2ch.net/test/read.cgi/tech/1349356417/
- 166 名前:デフォルトの名無しさん mailto:sage [2013/04/12(金) 21:44:04.17 ]
- 扱えない大抵のリソースってなんだよ
- 167 名前:デフォルトの名無しさん mailto:sage [2013/04/12(金) 21:52:43.31 ]
- 解放時エラーは全て握りつぶす
その覚悟無き軟弱者にRAIIは扱えない
- 168 名前:デフォルトの名無しさん mailto:sage [2013/04/12(金) 22:07:41.43 ]
- FAはこっち
「明示的解放が必要なリソースはRAIIで扱え 解法の失敗を考慮する必要があるならデストラクタでの解法はミスや異常時の保険としておき デストラクタによらない解法処理を自前で行え」
- 169 名前:デフォルトの名無しさん mailto:sage [2013/04/12(金) 22:36:28.34 ]
- >>166
newとmallocで取ったヒープ以外のほぼ全て
- 170 名前:デフォルトの名無しさん mailto:sage [2013/04/12(金) 22:51:26.45 ]
- >>165
それがおかしい。 closeに失敗したのだからエラー処理としてロールバック処理をするべきだろう。 ファイルの中身が壊れていてもかまわないというなら話は別だけどな。 closeをチェックする癖付けとかないと、NFS扱い始めたとき、原意不明の障害調査やる羽目になるぞ。 ローカルディスクならほとんど発生しないと思うけど。。。
- 171 名前:デフォルトの名無しさん mailto:sage [2013/04/12(金) 23:05:55.37 ]
- >>170
おかしいかどうかはアプリケーション次第だよ。 君のイメージは書き出しみたいだけど、読み出しなら失敗自体が稀だし、失敗したところで別に困らないし、何もできない。
- 172 名前:デフォルトの名無しさん mailto:sage [2013/04/12(金) 23:40:59.49 ]
- どうしてreadだけに絞った?
おかしいのは君の姑息な心理操作の方だよ
- 173 名前:デフォルトの名無しさん mailto:sage [2013/04/12(金) 23:48:03.97 ]
- >>169
ファイルの他に何があるの?ほぼ全てって言うぐらいなら2,3個軽く挙げられるよね?
- 174 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 03:33:10.75 ]
- ストリーム
データベースコネクション スレッド プロセス ハンドル
- 175 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 06:52:23.77 ]
- >>171
表現の違いか。 それはなにもできないのじゃなく、する必要がないだけ。
- 176 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 10:57:55.48 ]
- する必要がないはしなくて良いにはならない
表現の違いという落としどころに落としたいんですね可哀想ですね
- 177 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 12:30:24.27 ]
- まぁ今時のOSならプロセスが正常終了すればたいてい後片付けしてくれる
正常終了すれば
- 178 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 13:03:03.02 ]
- 突然話飛ばした?
- 179 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 13:09:09.09 ]
- 面倒くさいから、ハードウエアリセット
えぇ、うちの会社の数千万円の装置です
- 180 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 13:28:52.88 ]
- 億行ってる装置でも再起動させるんだから全然問題ないな
- 181 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 13:37:51.63 ]
- 無能な開発のケツを運用が拭けばいいだけの話だな
- 182 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 15:35:08.93 ]
- ↑まともな開発を不可能にする無能すぎる営業が背伸びしてPG板に来ちゃいました?
- 183 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 16:42:33.94 ]
- 発狂パーティーを開催いたします
- 184 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 20:28:25.02 ]
- C++で常時起動型のサーバープログラムを
書いてはいけないんですねわかります。 だからプロセス終了とか言っちゃうんですねプ
- 185 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 20:31:13.86 ]
- 大丈夫だよ週次リブート()とかするから
- 186 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 20:58:59.50 ]
- linux daemon全否定w
- 187 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 21:54:55.64 ]
- ここの人たち技術ないから
- 188 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 22:16:51.32 ]
- RAIIに技術?
- 189 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 00:04:39.90 ]
- なんでRAII限定にしたのか知らないけど常時起動型のサーバープログラムを落とす技術
- 190 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 10:36:28.81 ]
- C系はメモリ破壊の可能性を否定できないからな。
キチンと試験して稼働実績の有るプログラムでも 新人が加えた一文字のスペルミスで 既存部分のメモリが破壊されて火を噴くから、 プロセス分割したり短時間で終了するような ウンコ設計にしないと、 精神論だけでは品質を保てないウンコ言語。
- 191 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 10:43:56.90 ]
- 使えん新人100人より
優秀な奴5人の方が生産性高いと思うぞ
- 192 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 11:14:05.85 ]
- 最初はみんな新人さ。
- 193 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 11:31:10.84 ]
- "C++0x Concepts Should Stay Dead" -- Bjarne Stroustrup
- 194 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 11:53:28.15 ]
- conceptがC++がプログラミング言語の世界に出来る最大の貢献だと思うがな。
generic programmingの集大成だろう。
- 195 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 12:45:31.75 ]
- >conceptがC++がプログラミング言語の世界に出来る最大の貢献
Javaのインターフェースの劣化版コピーだと 思っとりました。
- 196 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 12:50:27.31 ]
- >>195
もしかしてtraitsも知らないの? traitsの時点でJavaのinterfaceとはぜんぜん違うだろ。
- 197 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 12:51:27.26 ]
- えっ?
- 198 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 12:52:01.85 ]
- >>195の意味がわからん
- 199 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 13:03:59.14 ]
- 寝言だろ
気にするな
- 200 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 13:15:39.44 ]
- Javaは同じSunにいたSelfグループのtraitとmixinに対する成果をうまく取り入れられてない。
- 201 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 13:30:26.27 ]
- もしかしてConceptsって単語をconceptのことだと勘違いした?
- 202 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 13:37:34.91 ]
- inheritanceとかinterfaceとかtraitとかmixinとかDIとかbindingsとか
区別がつかない wikipediaからもってきたflavors、roles、abstract classも追加 スレッドやら関数回りも同じような thread、fiber、coroutine、Light-weight process、microthread、protothread 区別する程有用な作用があるのか 俺が何か間違ってる事は正しいんだけど
- 203 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 13:41:47.00 ]
- インヘリタンスは分かれよ。
- 204 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 14:06:37.40 ]
- むしろインヘリタンスと何の区別が付かんのだろw
- 205 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 14:14:43.39 ]
- バカっぽいんだけど妙に面白い事言うやつっているよね
- 206 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 14:41:30.99 ]
- C++のtraitsはクラス書かないでも
traitsをユーザ定義して型をどうマッチさせるか記述できる。
- 207 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 15:11:36.28 ]
- C++0x concept には死んで貰って、concept lite に生まれ変わるという話。
- 208 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 15:20:29.09 ]
- concept liteはあくまで繋ぎでしょ
- 209 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 15:59:41.12 ]
- >>208
その辺も含めて >>193 の表題の文章に書いてある
- 210 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 16:43:03.96 ]
- 早く当初の構想どおりの完全版conceptが
現実にならないものかね。
- 211 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 16:45:05.56 ]
- またtemplateでの黒魔術が増えるの?
- 212 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 17:42:13.50 ]
- >>211
template 周りのコンパイルエラーで出てくる謎の暗号を解読しなくてよくなる
- 213 名前:デフォルトの名無しさん [2013/04/14(日) 17:59:08.71 ]
- ほう
- 214 名前:デフォルトの名無しさん mailto:sage [2013/04/14(日) 23:09:59.88 ]
- 日本語の解説本って、いつになったら出るの?
- 215 名前:デフォルトの名無しさん mailto:sage [2013/04/15(月) 01:08:22.12 ]
- Boost C++ Libraries プログラミング 第3版に期待するべ
- 216 名前:デフォルトの名無しさん mailto:sage [2013/04/15(月) 01:24:13.37 ]
- それは11の解説書としては使い物にならないだろ
- 217 名前:デフォルトの名無しさん mailto:sage [2013/04/15(月) 01:33:38.91 ]
- 解説なんてその辺の解説サイトでいいでしょ。
仕様を正しく理解したいなら原文しかないぜよ。
- 218 名前:デフォルトの名無しさん mailto:sage [2013/04/15(月) 01:38:06.83 ]
- 疑問点があればここではなく、Stack Overflow で質問するといい。
- 219 名前:デフォルトの名無しさん mailto:sage [2013/04/15(月) 01:53:20.81 ]
- Stack Overflow質問文テンプレ
「初心者です(_*_)。右辺値参照って何ですかぁ? 調べたけどさっぱりですぅ☆ エロい人宜しく(^^)/ あ、答えられない人のレスはお断りです(プゲラ
- 220 名前:デフォルトの名無しさん [2013/04/15(月) 02:22:19.91 ]
- >>219
はっはっは。元気があっていいね。頑張るんだよ。
- 221 名前:デフォルトの名無しさん mailto:sage [2013/04/15(月) 02:27:33.28 ]
- 日本語じゃないので☆1つ
- 222 名前:デフォルトの名無しさん [2013/04/16(火) 00:18:44.22 ]
- >>191
しかしその優秀な人たちは管理業務にまわされます。
- 223 名前:デフォルトの名無しさん mailto:sage [2013/04/16(火) 01:25:53.28 ]
- 日本のキャリアパスにシニアプログラマってあまりないからな
- 224 名前:デフォルトの名無しさん mailto:sage [2013/04/16(火) 02:52:46.46 ]
- 未経験の若いプログラマ雇って炎上みたいなのばかり
- 225 名前:デフォルトの名無しさん mailto:sage [2013/04/16(火) 03:24:29.66 ]
- >>202
クックック... 我はinheritanceの使い手にして最凶のinterface、 我が道を阻むことなどたとえabstract classでもできはせぬわ このスレの住人供よ、Light-weight processなど捨てて我が軍門に下るがよいわ 俺もよくわからんけど、多分このへんの単語考えた外人は中二病なんだろうと思うよ。 「俺の考えた呼び方の方がかっけーし」見たいな感じで クラウドとかも内輪ではめっちゃ受けてるのかもしれん
- 226 名前:デフォルトの名無しさん mailto:sage [2013/04/16(火) 23:52:19.27 ]
- >>224
出来るヤツだけ集めても なぜかうまくいかないのが プロジェクトと言うもの・・・
- 227 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 00:35:42.00 ]
- まとめるとプロジェクトは失敗するもの
- 228 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 00:59:50.26 ]
- JISのC++11って何巻目になるん?
1冊1万前後だから結構な出費だな
- 229 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 07:30:48.76 ]
- >>227
まとめすぎwww
- 230 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 08:35:27.55 ]
- COM(Direct3D11)を使ってプログラミングしてて、
インターフェースの解放(Release)を忘れないように、 shared_ptrを使おうとしてるんだけど、壁にぶつかった。 ある関数はインターフェースのポインタを引数に取る。 この場合は以下で大丈夫。 shared_ptr<ID3D11xxx> pD3D11xxx; ・・・ Func( pD3D11xxx.get() ); しかし、関数の中にはインターフェースのダブルポインタ(ID3D11xxx* const* pp)を引数に取るものがあって、 以下のように書いても「'&'に左辺値がない」と言ってコンパイラに怒られる。 Func( &pD3D11xxx.get() ); どうしたものかと、検索をかけると、 shared_ptrではなくて自作っぽいスマートポインタを作って、 pD3D11xxx.GetAddressOf()みたいなメソッドを利用して引数に与えていた。 std::shared_ptrでは上記みたいな関数に渡せないの??
- 231 名前:230 mailto:sage [2013/04/17(水) 08:39:56.70 ]
- ID3D11xxx* p = pD3D11xxx.get();
Func( &p ); ってしたらコンパイルは通ったけど、 もっとエレガントにできないかなぁ。
- 232 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 08:41:29.81 ]
- CComPtrを使えばよろし
- 233 名前:230 mailto:sage [2013/04/17(水) 08:59:24.88 ]
- >>232
CComPtrなら大丈夫なんですね。 しかし、できればATLに依存したくないんです。
- 234 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 09:04:19.90 ]
- ポインタのポインタを受け取るってことはポインタ自体の変更が行われるわけで
ID3D11xxx* p; Func(&p); pD3D11xxx.reset(p); こんな風にするしかないだろう
- 235 名前:230 mailto:sage [2013/04/17(水) 09:20:06.70 ]
- >>234
ありがとう! ああ、そうか。 面倒くさい。死にそう・・・。 調べてみると、どうもATLとは違うMicrosoft::WRL::ComPtrというのがあるみたい。 msdn.microsoft.com/ja-jp/library/vstudio/br230382.aspx なぜATLがイヤかというと、 まず開発がVC++のExpress(無料)バージョンが使えないこと。 自分はPro持ってるけど、他人にプロジェクトを渡すことがあって、 できれば相手にProを強要したくない。 あと、コンパイルした.exeを配布する際、 ATLを使用していると、ランタイムのインストールをユーザーに強要することになる。 WRLだとどうなんだろうか? 開発的にはExpress(for Windows8だけど)で使えることが調べて分かった。 あとは.exeを配布するときにユーザーがWRLのための追加インストールが必要か。 こういうのってどうやって調べたらいいの? DependencyWalkerとかでチェックしかないかな。
- 236 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 09:27:56.32 ]
- >>235
ATLは古いのならWDK7.1辺りに入ってたりする CComPtrはテンプレートなんだからランタイムも糞もないぞ
- 237 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 09:32:01.68 ]
- WTL?
- 238 名前:230 mailto:sage [2013/04/17(水) 09:59:29.69 ]
- 早速WRLのComPtr使ってみた。
余計なコードが激減した。 感動した。 さっきまで悩んでたのがあほみたいだ。 もう他人のことなど知るか(おい) >>236 ありがとう! 安心した。
- 239 名前:230 mailto:sage [2013/04/17(水) 10:07:14.80 ]
- 少し気になったのは、
同じダブルポインタ引数でも、 Create系では&pって渡せるのに、 他の関数ではp.GetAddressOf()で渡さないといけないこと。 後者を&pで渡したらぶっ壊れた。 まぁ、Create系もGetAddressOf()でいけるから、 これで統一しておくほうが無難かな。
- 240 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 10:10:33.16 ]
- またひとりC++/CXの魔境に旅立ってしまったか
- 241 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 10:14:10.97 ]
- ttp://msdn.microsoft.com/ja-jp/library/vstudio/br230430.aspx
日本語おかしいがちゃんと違いが書いてあるじゃない
- 242 名前:230 mailto:sage [2013/04/17(水) 10:22:51.60 ]
- >>241
あ、すんません・・・。 ああ、そういうことか。 参照カウントのこと意識せんといかんのね。 しかし、Create系以外でダブルポインタを引数に取るとか、 ややこしいからやめてくんないかなぁ・・・。
|

|