1 名前:デフォルトの名無しさん mailto:sage [2018/12/28(金) 06:04:52.38 ID:ufThBpcD.net] エスケープシーケンスやWin32APIなどの環境依存なものもOK そのような質問は必ず環境を書きましょう 半角空白やタブでのインデントはスレに貼ると無くなります コードを貼れる所 codepad.org/ https://ideone.com/ 前スレ 【初心者歓迎】C/C++室 Ver.103【環境依存OK】 https://mevius.5ch.net/test/read.cgi/tech/1530384293/
271 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 09:35:09.59 ID:9okmCQOj.net] まあC++開発者が未処理例外=クラッシュと短絡的に考えてしまう気持ちはよく分かるよ 呼び出し階層の途中に一つでも if (hoge() != SUCCESS) errorhandle(); があれば例外安全は破綻するわけで、あまりにも非現実的
272 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 09:54:05.98 ID:NbFzEAOW.net] >>267 仕様は>>218 が決めるんだから>>218 がコードを提示すべき >>236 みたいに後出しの条件出されても困るからな
273 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 10:02:59.35 ID:+Z2Zhk1G.net] >>267 > 例外発生場所から遠くなればなるだけ何が原因で例外が発生して、 > その回避はどうすればいいかが不明瞭になっていくってのは > 散々語られてる例外の欠点 それ戻り値スタイルでも同じだろ > リターンコードは泥臭いが下層からくるエラーをどう処理してるかはコード見れば一目瞭然 だからそれはすぐ上位で処理することが前提になってるだろ 上位に何度も伝搬したら例外と同じになる上に伝搬するコードをそこら中に書く羽目になる > ちなみにプルリクでレビューする文化があればエラー無視してるような雑はコードは突き返されるだろう 例外処理を書かないことはエラーを無視するんじゃなくてそのまま上位に伝搬してるだけ 書かないと無視してると取るのは例外をきちんと理解してないってこと > 見ればすぐわかるんだから お前の能力がな w
274 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:21:37.48 ID:Di3L4KSP.net] >>267 例外を使いこなせていないね 例外の型とパラメータをみれば何が起こったかはっきりわかる おそらく君は例外の種類を使い分ける習慣がないだろ? あったとしてもせいぜい標準ライブラリの例外をなんとなくふり分ける程度だろうね でないとこんな発言はしないから まずは例外を定義するところから初めてごらん それと大規模開発をしたことがないのはそちらだろう 関数コールするたびにずらずらと変数や分岐を書かれたらあっという間に管理不能になる 大規模だからこそ標準的なコード、必要十分なコードというのが大切になる
275 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:52:23.62 ID:Di3L4KSP.net] リターンコードスタイルをレビューに出すと袋叩きにされるぞ ・ノイズが多すぎて正常系のレビューが不可能 ・同じくどのエラーが上位伝達、エラー変換、共通対応、個別対応なのか見てすぐにわからない ・同じく要件漏れを見落としやすい ・正常系、異常系、判断、伝達などあらゆる要素が密集して強く結合しているため仕様変更があった場合の影響が大きすぎてレビューしきれない
276 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:00:29.05 ID:9okmCQOj.net] >>275 考え方自体には同意するけど、>>271 で示したように例外安全が破綻しているケースについてどう考える? エラーコードを前提にクリーンアップ処理が記述されているコードが混入しているような場合ね あくまでC++に限った話だけど、大規模開発で完全な例外安全を維持するのは極めて困難だか実際には絵に書いた餅と思ってる
277 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:01:15.22 ID:9okmCQOj.net] >>276 訂正 極めて困難で、実際には絵に描いた餅
278 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:05:57.47 ID:eQbQQa6X.net] レビュアーの経験値不足って感が否めない
279 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:14:15.22 ID:NbFzEAOW.net] >>276-277 必要なら直せばいいだけ 非常に稀な事象についてまで例外安全を遵守する必要はないでしょ そもそもそういう変なコードが混入してる体質の組織で何を言ってるんだよ? って話だと思うけど
280 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:20:41.40 ID:9okmCQOj.net] >>279 文化と素養の問題だよ 例外の是非でこれだけ荒れる現状を見てれば、例外のスルーなんて怖くてできねえよ そりゃあんたが全てのコードをレビューしてマサカリ投げまくってくれるなら別だけどねえ
281 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:46:08.82 ID:NbFzEAOW.net] >>280 ごめん、言ってることがよくわからん そもそも if (hoge() != SUCCESS) errorhandle(); なんてコードがあったら戻り値スタイルでもどうしようもない 例外は魔法の杖じゃないんだから何でもかんでも例外使えば解決するわけじゃなくて戻り値スタイルより楽にできるというだけの事だよ プログラムがデカくなるほどその差は開くけど
282 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 15:00:28.97 ID:9okmCQOj.net] >>281 result = hogehoge(); if (failure(result)) エラー処理(); リソース解放(); これhogehogeが例外起こしたらリークするだろ
283 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 15:09:35.03 ID:NbFzEAOW.net] >>282 スマートポインタ使うなりcatchしてリソース解放して例外再送出するなりいくらでもやりようはあるだろ… ちょっとレベル低くね?
284 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 15:25:30.15 ID:9okmCQOj.net] >>283 だからそれが例外安全だよ 勉強になったね
285 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 15:27:04.68 ID:NbFzEAOW.net] 流石に恥ずかしくね? w
286 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 15:51:37.78 ID:GjW/cezm.net] >>283 基本的にデストラクタやリソース開放系は例外投げられると大変なことになる catchしてなんて簡単にいってるけどもcatch(...)をそこに入れることになるのはわかるかね
287 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 16:15:33.27 ID:NbFzEAOW.net] で、そんな当たり前のことを言って何が言いたいの? 聞きかじりの知識を披露してるとしか思えないんだが… w
288 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 18:01:37.80 .net] 例外機構は宗教 多くの人が正しいと盲信しているに過ぎない
289 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 21:32:31.75 ID:sP4gcHu6.net] 戻り値でイベント投げるという選択肢がない言語使用自体くそじゃね?
290 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 22:06:05.18 ID:5kYBxhZB.net] Cにそんな機能あったっけ? それとも別の言語の信者が折伏に来ているの?
291 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 23:00:01.73 ID:vJCo0PxF.net] >>265 そう、検査例外を正しく使うのはしばしば困難で批判も多いな。ただ、呼び出す処理がどのような 例外を返すか、静的な型検査による保証を与えてくれる仕組みとしては他に無いのも事実。 検査例外を否定するのであれば例外型に頼らない(>>264 の後者)か、プログラマの努力で 整合をとってやる(>>261 の最後)カウボーイ的プログラミングになる。 >>265 はあくまでも例外に型を期待しているようだからカウボーイの方なんだろう。
292 名前: mailto:sage [2019/01/21(月) 23:52:35.55 ID:N0KGcgmj.net] >>291 >プログラマの努力で整合をとってやる(>>261 の最後)カウボーイ的プログラミングになる。 … … これって「カウボーイ的」と形容されるべきものだったんですか? catch の引数は値ではなくて、「型」だから、 テキトーな super class ERROR の下に個別エラー用派生クラスを列挙しておき、 臨機応変に catch (ERROR &e) を噛ましています… >>256 一応例外を投げておくけれども、まじめにサポートする気はさらさらなく、 そもそもやる気は皆無・全くゼロであることを、ただ、それだけを全心全霊で表現するためだけに throw 13;
293 名前:はちみつ餃子 mailto:sage [2019/01/22(火) 02:54:09.24 ID:FdSNzm47.net] 例外の処理速度については、こういう提案もある。 https://ezoeryou.github.io/blog/article/2018-07-10-static-exception.html 要するに、投げるオブジェクトが条件を満たすときは、 暗黙の返却値のような形で例外を伝播する仕組み。 バイナリレベルの取り扱いも ABI を決めさえすれば済むだろうし、 互換性も確保しやすそうに思う。
294 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 07:12:53.52 ID:c7vqWXz4.net] どう見ても例外否定派の方が宗教がかってる…
295 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 08:50:21.38 ID:Z/sMOZE7.net] 環境の方の質問NGなら完全スルーでお願いします Windows8.1 64bit のうえで Windows98SE でも動く C のバイナリを作ろうと思ってるのですが LSI C 試食版以外に何か良い方法がないかなあと… Windows98SE の方に Visual C++ 6.0 & SP6 をインストールしても良いのかも知れませんが DLL の整合性とか不安 VC++ 2005 は iso 持ってるだけ…Windows98SE で動くバイナリが生成できるとか何とか
296 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 09:09:13.74 ID:Z/sMOZE7.net] 業務で使った経験は一切ないです 使い捨てレベルのものを書くのが目的です
297 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 12:47:22.45 ID:beRmTaV+.net] TEST::TEST() { うんたら } ってコンストラスタがあって、このクラスにパラメータ付のコンストラスタを追加したいとき C# だったら TEST::TEST(int param) : this() { 増やす機能 } みたいに書きますが C++ の場合はどうやって書きますか
298 名前:デフォルトの名無しさん [2019/01/22(火) 13:28:39.91 ID:/wbMKv3O.net] TEST::TEST(int param) : クラスのパラメータ(param) { 増やす機能 }
299 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 14:01:29.45 ID:mZt3aCP3.net] >>297 委譲コンストラクタでググると出てくると思う。 たしかC++11で追加された機能。
300 名前:はちみつ餃子 mailto:sage [2019/01/22(火) 14:03:25.02 ID:FdSNzm47.net] >>295-296 LSI-C試食版 って Windows 用どころか MS-DOS (16bit) の、しかもスモールモデルしか作れないじゃん。 使い捨ての、いいかげんな富豪的プログラミングしたらすぐメモリ足りなくなるぞ。 ワイとしては Open Watcom C++ を推すやで。
301 名前:デフォルトの名無しさん [2019/01/22(火) 14:11:32.02 ID:/wbMKv3O.net] >>295 https://bellard.org/tcc/ https://en.wikipedia.org/wiki/Tiny_C_Compiler https://dyama.org/2012/11/tiny-c-compiler/ https://github.com/TinyCC/tinycc
302 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 15:51:04.50 ID:DsO4NZlu.net] LSI-Cとかなっつw 昔の勉強用コンパイラといったらこれだったな
303 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 16:10:30.87 ID:3oaAhSoC.net] LS愛ちゃん
304 名前:はちみつ餃子 mailto:sage [2019/01/22(火) 16:47:15.38 ID:FdSNzm47.net] >>302 Cマガの付録CDに常に収録されてたよな!
305 名前:デフォルトの名無しさん [2019/01/22(火) 17:01:23.17 ID:8l7UUA+M.net] LatticeCとかBDS-Cとか使ってたわ
306 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 17:22:22.39 ID:beRmTaV+.net] >>298-299 TEST::TEST(int param) : TEST() { 増やす機能 } で出来ました。ありがとうございました。
307 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 18:21:52.81 ID:Z/sMOZE7.net] bcc32c でコンパイルしたバイナリが Win98SE 上で動くことを確認… Win98SE 上だと Turbo C が動くことを確認… Open Watcom C++ というのは存じませんでした 確認してみます
308 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 18:30:45.76 ID:hELj0NVW.net] 森公一郎さん、4年前に亡くなってる
309 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 18:51:51.72 ID:c7vqWXz4.net] >>295 > VC++ 2005 は iso 持ってるだけ…Windows98SE で動くバイナリが生成できるとか何とか なんで試さんの?
310 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 20:54:28.21 ID:Z/sMOZE7.net] DLL hell に躊躇
311 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 23:43:17.99 ID:f8uEJHYw.net] LSI-C試食版www 懐かしいなあ あの頃はものすごくCPU遅かったよね 486にして感激したからな もうC言語でプログラムはしたくない C++だ・・・
312 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 03:50:30.92 ID:2NaZdHzA.net] コメントに//が使えない時点でもうダメだな俺はw
313 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 06:49:23.93 ID:u7DJzLvn.net] 古いOSでも動作させたいけど、ソースは新しい規格で書きたい、 と言うのは要望としてはありうるな。 >>295 はLSI-C試食版(C89相当だっけ?)を使ってるようだから、 そのクチではないのかも知れんけど。
314 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 07:14:34.51 ID:aGw/aeEH.net] >>310 今時なら仮想マシンでやればいいだけだろ
315 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 08:57:06.72 ID:A4LjhfFf.net] >>312 コメント前に // つけるより /* コメント */ あるいは #if 0 コメント #endif のほうがすっきりしないか?
316 名前:315 mailto:sage [2019/01/23(水) 08:57:45.81 ID:A4LjhfFf.net] コメントが複数行にわたる前提ね
317 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 09:18:31.94 ID:NxchbiGL.net] だから何? それに同意しようがしまいが単一行コメントのときに面倒なのは変わらないよね 個人的にはエディタがコメントの一括付け外しに対応してるなら複数行でも//の方が見やすいと思ってるけど
318 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 09:36:35.20 ID:WSWjtujW.net] C言語の a=b; って アセンブラで言うと、メモリ→レジスタ→メモリって移し替えてるのと同じ? メモリ→メモリにデータコピーする時って、必ずレジスタを経由しないとだめなのかな? アセンブラ勉強初めたばっかで何言ってんだこいつ的な感じだったらごめん。
319 名前:はちみつ餃子 mailto:sage [2019/01/23(水) 10:06:54.98 ID:+T2/7smM.net] >>318 CPU の種類による。 アセンブラはアセンブラという言語の規格があるわけではなくて、 各コンピュータの機械語の単語を便宜的に読みやすい書式に置き換えた ものの総称なので、使える命令は各アーキテクチャのデザインに従うし、 書式のバリエーションもある。 いくつかの伝統的な習慣はあるけれど。 データの移送にレジスタを経由しなければならないようなデザインの CPU もあるし、 そうでないものもある。 メモリアクセスをする命令とその他演算の命令を明確に分離するようなデザインの アーキテクチャを特に Load?store architecture と呼んでる。 https://en.wikipedia.org/wiki/Load%E2%80%93store_architecture コンピュータの設計の根本を左右する方針の違いなので、 理解があやふやとはいえ、ここに引っかかりを感じたというのは才能を感じる。
320 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 15:54:30.09 ID:WSWjtujW.net] >>319 自分が勉強してたCPUがたまたまレジスタ必要とするものだったということですね。ありがとうございます。 あと、intelとryzenは、どちらのCPUであっても殆どのソフトは動作しますが この2つのCPUのアーキテクチャオペランドは同じということでしょうか? ゲームなんかは高速化の部分でアセンブラ使う場所も頻繁にあるんじゃないかなと思うのですが。
321 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 16:07:56.74 ID:WSWjtujW.net] すみません自己解決。 x64ですね。
322 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 22:57:36.31 ID:A4LjhfFf.net] >>317 wwww 逆に、だから何? エディタが/* 入力と同時に */ を自動挿入してくれるなら全く変わらないだろ それともおまえのエディタは / 入力で もひとつ/ を自動挿入するように設定でもしてるのか? ゆとりもここまで来るとどーしよーもねーな。
323 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 23:18:56.27 ID:A4LjhfFf.net] >>318 >>319 状況によるが、 a = b; はメモリを介せず、できるだけレジスタ間コピーになるように最適化される。 んでメモリ to メモリを許すのはCISCと相場が決まってる RISCはメモリ to メモリは命令にない 。命令セットを減らしてるからこそ reduce このおかげで回路が簡単になり、所用クロック数をほぼ等しくして、クロック(Hz)をあげることができた。 このタイプはメモリ→レジスタ→メモリとせざるを得ない 今は、パイプラインを深くして、CISCでもクロックをあげられるようになったのでRISC/CISCはあんまり関係なくなった。 CICSの代表はx86なのでメモリ→メモリ命令セット調べてみ。 CISCの歴史的な経緯がわかるのは、これもCISC代表のx68kやH8は、命令セットごとに大幅に所用クロック数が違う。 それに対してx86の流れをくむ最新設計のRL78だとほとんどの命令セットが1クロックとなって。RISCと変わらない上に、 メモリ to メモリが可能となってる。それでも メモリ to レジスタに比べて1クロック増えてる。 メモリ to メモリ とレジスタ to メモリを同クロック数で実行しようとするなら、 バスラインがもう一組(例えば32bit)必要になった上に、 2ポートメモリが必要になってしまうwwww
324 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 23:20:08.21 ID:A4LjhfFf.net] アンカー違い × >>319 ○ >>320
325 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 23:21:30.54 ID:MK/3pF0O.net] >>322 自分で複数行が前提だと言っときながら何言ってんの君
326 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 00:07:57.67 ID:sZmPY6bv.net] >>325 */の自動補完は複数行だろうが単一行だろうが関係ないだろが。 おまえがエディタ支援による入力補助を持ち出したから応じてやっただけだろゆとり 入力の手間はむしろ/* */の方が楽なんだよお馬鹿さん
327 名前:デフォルトの名無しさん mailto:sage [2019/01/24(木) 00:17:17.17 ID:sZmPY6bv.net] >>325 それとさ俺が複数行限定といってるのに >>317 >単一行コメントのときに面倒なのは変わらないよね また単一行の話をしてるのはそっちだろーが。 おまえは朝鮮人か?それともボケてんのか?
328 名前:はちみつ餃子 mailto:sage [2019/01/25(金) 04:31:55.12 ID:D9LdM3uI.net] まあ例えばインテルアーキテクチャでも、 機械語の命令列を内部で μop に分解して最適化してから実行したりするので、 機械語のレベルなんてまだまだ高級な層。 内側では RISC 的なデザインとも融合していて 正直言って、そこで何が起きているのか正確に理解するのは無理。 (結果に影響しない範囲で) 命令を並べ替えることすらあり、 しかし、マルチスレッドと絡むとわけわかんなくなりがち。 Z80 の牧歌的な世界を知ってると隔世の感がある。 実際、演算能力で言えば何百倍とか何千倍とかいう規模で違うもんな……
329 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 04:48:14.16 ID:RBnOR415.net] Z80Aで、おおむね4Mhzだったような 無印Z80は知らない 日本人だとZ80AよりμPD870Cの方が普及???
330 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 05:29:09.86 ID:VVNAHEZ9.net] >>329 μPD780C-1な。870だと電卓チップになってしまう。 詰めが甘いな :-P
331 名前:デフォルトの名無しさん mailto:sage [2019/01/25(金) 09:28:14.11 ID:U8XeH6tm.net] >>328 自分もこの結論に達した
332 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 10:50:23.69 ID:ibgF9MiT.net] 初心者です 関数の引数の1つとして3種類の構造体を受け入れたいという場合オーバーライドで3つ書くのよりスマートなやり方ありますか?
333 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 11:07:13.35 ID:MaEquCGy.net] オーバーロードで3つ書く方がスマートですよ
334 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 11:19:38.97 ID:UuAHSy+r.net] 関数テンプレートというものが一応存在する。 tempate<class T> void func(T arg) { ... } このように記述すると、型に応じたオーバーライドをコンパイラが自動で作成してくれるという機能。 ただ、実際に呼び出すコードを書かないと(型が確定してないから)コンパイル対象にならなず限定的なエラーチェックしか行われない、 エラーが出た時に問題が関数内なのか呼び出し元なのかが分かりづらい、エラーメッセージもわけわからない、という欠点があるので、 あまり初心者向きとは言えない。すごく便利なんだけどね。
335 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 13:38:51.24 ID:ibgF9MiT.net] >>333-334 ありがとうございます オーバーロードでしたね^^;
336 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 17:08:07.75 ID:a/6Wmtam.net] >>335 Variantが使えるならVariant 対照的にunionはおすすめしない
337 名前:デフォルトの名無しさん mailto:sage [2019/01/26(土) 18:04:32.62 ID:wmp8xlgD.net] 結局中で分岐だろ
338 名前:デフォルトの名無しさん mailto:sage [2019/01/27(日) 04:46:54.79 ID:tVyD3cTv.net] >>336 variant勉強します ありがとうございます
339 名前:デフォルトの名無しさん mailto:sage [2019/01/27(日) 23:53:20.30 ID:PNYmCs1E.net] 投機実行がセキュリティホールになるなんて 当時の技術者は予見できたのだろうか
340 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 21:22:57.38 ID:pEOkr0Qg.net] いやー 論文ネタに困った情報系の役にたたん学者がひねり出したネタだろ 投機実行を攻撃に使った実例なんてあるのか?
341 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 10:11:52.05 .net] 煽ってたら論文ネタに困った情報系の役にたたん学者が投機実行を攻撃に使った実用法をひねり出したらどうすんだ
342 名前: mailto:sage [2019/01/31(木) 23:01:04.87 ID:GI5VQ7Hx.net] >>340 手元にようやく SandyBridge(IvyBridge) を確保しましたのでいろいろ試してみようと思っています
343 名前:デフォルトの名無しさん mailto:sage [2019/01/31(木) 23:07:28.54 ID:sIpyZVmV.net] Googleだったっけ、見つけたのは? 役に立たない暇な部門があったんだ
344 名前:デフォルトの名無しさん [2019/02/01(金) 03:34:40.30 ID:fFpCRDyYq] twitter で見かけたのですが、a[i++] = 0; って定義済みですよね?
345 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 08:27:42.12 ID:tJohl//6.net] C++って未だにasync,awaitがないんだな? 江添とかtemplate使えないC++プログラマはポインタを使えないCプログラマと同じゴミとかいってるんだが、 templateは確かに面白いし頭の体操になるけど、templateはひな形があれば、泥臭くエディタちょい編集して使い回したり、 yacc/lex使うとか、ループのアンロールはスクリプトで展開するとかいくらでも手段はあるので、 どう考えてもasync,awaitあたりの実装の方が重要だと思うけどな。
346 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 08:50:29.54 ID:UyxpbyFe.net] futureでいいんじゃね。C#のawaitもFutureパターンの実装でしょ。
347 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 11:01:27.11 ID:tJohl//6.net] >>346 .net動いてるのとそれが前提でないC++では全く同じにはいかんのだろな 教えてくれてありがと
348 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 11:23:05.73 ID:ZfwOhOL2.net] コルーチン拡張は提案段階なんだっけ? MS界隈ならC++/WinRTで使用例があるけど
349 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 11:47:15.38 ID:qgXcCvEo.net] >>347 いや別に C#のasync/awaitって単なるステートマシンジェネレータだし 標準化は至難だろうけど技術的にはC++でできない理由はない
350 名前:デフォルトの名無しさん mailto:sage [2019/02/02(土) 13:08:31.83 ID:cZfjknnV.net] >>345 再帰includeとdefineの組み合わせでも大抵はなんとかなったりするなw templateは型に縛られてるから安全な反面、不便なこともあるよね。 sjisとutf8が区別できないし。なぜchar8_tを作らなかった…(´・ω・`)
351 名前:デフォルトの名無しさん [2019/02/02(土) 13:11:59.53 ID:OjPcxytf.net] テンプレートよりObjective-Cのやり方の方が好き
352 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 12:10:14.76 ID:JIYTTgNa.net] 江添なんて最新仕様知ってる俺スゲーやりたいだけの奴だからな。 まともに使えるプログラムを書いてるわけじゃない。
353 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 14:07:26.32 ID:IhqR/Csp.net] でもプログラム書くなんて誰でも出来るじゃん
354 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 14:11:00.19 ID:s/ZudwPt.net] おまえのgithubさらせよ
355 名前:デフォルトの名無しさん mailto:sage [2019/02/03(日) 14:15:39.93 ID:IhqR/Csp.net] >>354 お前が先に晒せ
356 名前:デフォルトの名無しさん [2019/02/03(日) 14:56:06.74 ID:nprxb46h.net] きっとはぶられる
357 名前: mailto:sage [2019/02/03(日) 15:08:24.54 ID:t4xt++Qj.net] >>354 そろそろ github に移行しようか… https://mevius.5ch.net/test/read.cgi/tech/1434079972/ hibari.2ch.net/test/read.cgi/tech/1289715349/ hibari.2ch.net/test/read.cgi/tech/1295273862/ hibari.2ch.net/test/read.cgi/tech/1309527259/ peace.2ch.net/test/read.cgi/tech/1313183984/
358 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 12:56:22.82 ID:Y0slw8we.net] >>352 江添とか書いてることみてるとムカっ腹立たないか? 何様だこいつ。しかもやってることキチガイだろ
359 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 13:07:21.17 ID:qU4d2Hmv.net] >>358 は?お前じゃあ江添より仕様に詳しくてC++のコンパイラを実装出来るような能力なのかね?ええ?
360 名前:デフォルトの名無しさん [2019/02/04(月) 14:02:36.47 ID:zmkNdOJF.net] 工学部生よりましやろ
361 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 14:08:27.48 ID:n76odGjc.net] 例え世界一の物知りでもそんな口の効き方をする人とは 付き合いたくないな RMSにはEMACSやgccといった作品があるから許される
362 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 14:56:20.34 ID:iZ37iel0.net] この3冊は、日本人が作った神の書。 皆、基地外。基地外しか、こんな本を書けない Linux プログラミング・インタフェース、Michael Kerrisk、2012 この本は、神の書と言われていて、翻訳本は日本しか出ていない。 著者は10年、man-pagesを書いてきた人で、翻訳者・アドバイスの千住治郎も、技術者 C++11/14 コア言語、江添 亮、2015 組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド、MISRA‐C研究会、2006 ドワンゴ江添は需要があれば、テンプレートの本を出そうか、なんて言ってるけど、既にこの本がある C++テンプレートテクニック 第2版、 επιστημη(えぴすてーめー)・高橋 晶、2014
363 名前:デフォルトの名無しさん [2019/02/04(月) 15:06:30.08 ID:zmkNdOJF.net] ステマ宣伝乙 5ちゃんでは禁止
364 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 15:58:27.96 ID:n76odGjc.net] Linuxの黎明期にman page 書いていたのは janneさん事、中谷千絵さんだよ エピスメーテーさんは昔っから雑誌に記事を書いていたな The Basicだった? 真ん中の人は知らないけどどんな貢献をしたの?
365 名前:はちみつ餃子 mailto:sage [2019/02/04(月) 16:09:06.48 ID:kMmgpke2.net] >>364 ざべは読んだことないけど、Cマガでεπιστημηの名前はよく見たな。 今では Teratail で C++ の質問をするとたまに回答者として出現するよ。
366 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 16:27:32.33 ID:n76odGjc.net] >>365 そうでしたか、CUJJとかは買っていたけど...CMAGは 時々だったので
367 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 17:40:44.94 ID:Y0slw8we.net] >>362 えぴすてーめーと高橋のC++テンプレ本は神だわ。 なんというか、読者に理解させてあげたいという熱意が伝わってくる 江添とは大違い 江添にお布施するつもりは毛頭ない。死ねばいいのに
368 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 17:42:39.71 ID:Y0slw8we.net] >>359 本人様のご登場wwww
369 名前:361 mailto:sage [2019/02/04(月) 18:14:10.83 ID:iZ37iel0.net] >362 の3冊は、単なる規格の文章ではなく、それをソースコードの実例にした所がすごい! だから、プログラマーは皆、Kerrisk の本を枕にして寝ろって、言われている たぶん、江添やMISRA‐C の本も、外国で発売されていれば、大絶賛されるはず!
370 名前:デフォルトの名無しさん mailto:sage [2019/02/04(月) 19:01:28.11 ID:GH1lEwiX.net] エピスや高橋ageて江添sageってのもよくわからんな 立ち位置違うし江添は委員会の人間だから 仕様や提案について素晴らしいとかクソとか言う権利や責務がある それをsageるってことは「現行仕様マンセー、標準規格に欠点など無い!」みたいなことか?
371 名前: mailto:sage [2019/02/04(月) 19:11:50.08 ID:CLpqTC7n.net] >>362 エピさん単著は買わないですね、エピさんの文章は今の言葉で表現するとすれば「ポエマー」が近い 同じくポエマーに分類される私がいうことではないのですけど…