1 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 22:58:02.60 ID:dU5z27As.net] エスケープシーケンスやWin32APIなどの環境依存なものでもOK。 ただしその場合、質問者は必ず環境を書きましょう。 ◆ソースのインデントについて 半角空白やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのも手ですが直接貼る場合は、 全角空白か に置換すると見栄えだけはよくなります。 【アップローダー】(質問が長い時はココ使うと便利) codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック) ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用) 前スレ 【初心者歓迎】C/C++室 Ver.99【環境依存OK】 echo.2ch.net/test/read.cgi/tech/1469177649/
697 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 08:25:22.25 ID:CMNJImQI.net] >>685 なるほど…これってデフォルトコンストラクタ自前で書いてメンバイニシャライザに書いても同じだよね? valueも同様にイニシャライズしなきゃだめだよね?
698 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 12:04:31.71 ID:dSqD3vhj.net] >>686 1:Yes, 2:Yes struct X {string m; X()=default;}; struct X {int m{}; X()=default;}; struct X {int m; X() : m() {}}; はmが初期化される struct X {int m; X()=default;}; が初期化されない
699 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 12:34:51.89 ID:CMNJImQI.net] >>687 ありがとう
700 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 21:07:12.97 ID:YRHwBsQU.net] 空のvectorをpop_backした時の仕様がクソ過ぎるC++
701 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 23:54:31.67 ID:vnQWBbWO.net] 亀レスで申し訳ありません、>>674 です とりあえずレベルが足りないことが分かったので、もう少し勉強してからいただいたコード解読してみます。 答えてくださった方ありがとうございました。
702 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 07:02:51.57 ID:ueF+TYcD.net] 気にすんな 簡単なことすんのにもこの難易度な言語がおかしい
703 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 17:35:50.84 ID:zF6NOqag.net] というかほとんどがムーブとかconst版とかconstexprとか、とことん丁寧にやろうとした場合の作法まで 含めた突っ込みだから、初心者が気にするような話ではないなw そもそも、最近右辺値参照使ったコードを「書かないといけない」と誤解してる人が多い気がするんだが あんなもん「ポインタのすげ替えで済む場合」にそれを出来るようにするための仕組みで、 まず左辺値版を書いた上で、右辺値版も書けば速くなるよ、ってだけだよね? 上記に該当しようがしまいがまず左辺値版は必須だし(左辺値を弾きたいならともかく) 該当する場合に高速化したければ右辺値版も書けばいいというだけで これまた初心者が気にするような話ではないw
704 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 18:16:24.12 ID:uCSRK7Ay.net] >>692 >右辺値版も書けば速くなるよ、ってだけだよね? お前の中ではそうなんだろうな
705 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 18:58:32.67 ID:zF6NOqag.net] 違うというなら例ぐらい挙げてくれよ
706 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 19:28:29.10 ID:+mNKSnZM.net] そういうのはスルーでok
707 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 22:23:00.44 ID:uCSRK7Ay.net] >>694 こういうのはワンポイントTipじゃなくて概念の理解だからね 『ムーブセマンティクスのため』と答えを言ったところで 君は理解できないんだろう?
708 名前:デフォルトの名無しさん mailto:sage [2017/06/06(火) 23:19:35.94 ID:zF6NOqag.net] >>696 ドヤ顔で用語を挙げろなどとは一言も言っていないのだがw
709 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 00:10:56.23 ID:xZGjq0dG.net] >>697 『ムーブセマンティクス』が君の求めた 例そのものなんだよ でも君の頭脳では概念を理解できないから 説明する気もないし わからなくても心配しなくていいよ
710 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 00:22:15.23 ID:2ipgwMGH.net] 教える側界隈の高度なやり取りだけで終始しないでほしいんですけど、、
711 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 00:27:13.62 ID:gn2mDiBA.net] >>699 ヒント:unique_ptrのムーブは性能目的ではない
712 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 00:54:38.14 ID:CXRZvrBM.net] >>698 こっちは疑問形で書いてんだから普通に指摘してくれりゃいいんじゃねーの? なんかコンプでも抱えてんのかね unique_ptrみたいな所有権の移動の実現(を楽に実装する)は確かに気付いてなかったが 初心者が気にするような話ではない&いつも書かなければならないものではない、に対する反論になってないよな ちょっとした指摘をそこまで煽って書ける神経が理解できん
713 名前:700 mailto:sage [2017/06/07(水) 06:42:56.76 ID:gn2mDiBA.net] ちなみに俺は>>698 ではない そうぞうで書いた
714 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 08:16:07.46 ID:PxDlVTZD.net] >>701 君は概念を理解できないだろうけど コピーされては困るから「ムーブ」「セマンティクス」 なんだよ 性能に余裕があってもね 右辺値参照がなかったらスマポをvectorに入れることすらままならないよ
715 名前:デフォルトの名無しさん mailto:sage [2017/06/07(水) 18:47:00.97 ID:CXRZvrBM.net] >>702 いや自分も軽く調べてすぐ見つかった例がunique_ptrだったからそれだろうと思った >>703 偉そうに言う割に自分もいい加減なこと言ってるな C++03以前を知らない学生か何かだろうけど、お前みたいに偉そうにドヤ顔する癖のあるやつで 使い物になるコード書くやつを俺は見たことない 恥ずかしいからその辺にしとけ
716 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 17:42:01.48 ID:SxYi4azU.net] >>683 >・popの戻りはvoidにした方が無難 なぜなんだ?pop の戻りがナルなら空であることを示せてべんりだろう?
717 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 20:12:18.00 ID:JqmNS/A3.net] >>705 topとpop作れってことが言いたいんだろう多分
718 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 22:14:52.88 ID:iu5DR0Hy.net] 「なぜなんだ?pop の戻りがナルなら空であることを示せてべんりだろう?」 ↓ 「topとpop作れ」 これがアスペというやつか
719 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 22:35:45.30 ID:q49UmmFG.net] お前アスペ言いたいだけだろ w
720 名前:はつみつ餃子 ◆8X2XSCHEME mailto:sage [2017/06/12(月) 01:27:35.05 ID:M0cidITY.net] std::queue では pop と front に分けられてるからその習慣に合わせた方がいいってことじゃない? ただ、 queue のデザインが出来たときはムーブがなかったから先頭要素にアクセスするために (参照でなく) 値を返すと同時にコンテナから削除するのはコピーが発生して非効率ってこともあってこうなってると思う。 今ならもっと別の選択肢はあっていいと思う。 まあ、古いデザインを引き摺っている部分はあるとは言っても標準ライブラリはすごくよく考えられてるから、 どうしてそうなっているのかを考察したり真似したりするのは良いと思う。
721 名前:デフォルトの名無しさん mailto:sage [2017/06/12(月) 01:48:34.70 ID:E1Ahh3IF.net] はつみつ
722 名前:デフォルトの名無しさん mailto:sage [2017/06/12(月) 17:36:41.84 ID:t42bNJ0A.net] >>709 は健常者 ただ理由は性能でなくて例外安全だろう
723 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 07:59:16.34 ID:bupTq8cx.net] クラスの演算子オバーロードの 書き方全種類教えてください。 operator (*)やoperator ""や operator ->()辺りが特に解説が少なくて 理解するのに困ってます。 よろしくお願いします。
724 名前:はちゃめちゃ餃子 ◆8X2XSCHEME mailto:sage [2017/06/17(土) 09:10:34.91 ID:a/4tSU3I.net] >>712 ユーザー定義リテラルについてはこのあたりが詳しいと思う。 https://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml#over.literal https://cpprefjp.github.io/lang/cpp11/user_defined_literals.html 名前空間名で修飾することができないので、 namespace 内で定義されたものについては using してからでないと使えないという規則が微妙に気持ち悪い。 あまりお勧めしない。 標準ライブラリが提供している complex 型のリテラルや時間のリテラルもそんなに頻繁には使わなさそうだし、 よく使うのは string 型のリテラルくらいかなぁ。
725 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 11:23:50.84 ID:cPfPWWru.net] まずウェブブラウザーで www.open-std.org/JTC1/SC22/WG21/docs/papers/2017/ をアクセスします。 次に「N4660」のPDFをダウンロードします。 右下に336と書かれたページ(16.5 Overloaded operators)を開きます。 そこから5ページほどスクロールしながら、英文を見ずにコードだけ眺めます。
726 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 11:24:51.65 ID:cPfPWWru.net] oops... × N4660 ○ N4659
727 名前: ◆QZaw55cn4c mailto:sage [2017/06/17(土) 12:02:12.82 ID:ir1eTLN6.net] >>712 ユーザー定義リテラルについては書かれていないが、それでも演算子オーバーロードについては stlalv.la.coocan.jp/ が詳しいのではないか?はちみつさんがこれに触れないのは不思議‥
728 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 12:24:13.05 ID:qM
] [ここ壊れてます]
729 名前:kdrUOQ.net mailto: あ、うんでもなんか、 http://stlalv.la.coocan.jp/HungarianNotation.html ↑のページ読んだだけでもうダメなんじゃないかって 文章もなんか危ないというか危ういし とおもったらQZか な〜んだ納得 [] [ここ壊れてます]
730 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 13:21:59.00 ID:ir1eTLN6.net] >>717 ハンガリアンは意見がわかれるからね‥ 私はハンガリアンはやらないよ
731 名前:はちみつ行者 ◆8X2XSCHEME mailto:sage [2017/06/17(土) 14:21:54.44 ID:a/4tSU3I.net] >>716 自分が見ないページだから意識の外だった。 そのページはわかりやすく説明できているとは思うけど、 基本的な書き方で今更調べることはあんまりないよ。
732 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 14:31:32.36 ID:bupTq8cx.net] 712です。 短いコードを打ちこんで動作を確認しました。 皆さん有り難うございました。 (ちょっと気になったのは void operator [](std::initializer_list <int > list); これがvsc2015では動作しなかったことぐらいです。 )
733 名前:653 mailto:sage [2017/06/17(土) 16:42:18.70 ID:YXyzn6OG.net] それ戻り値がvoidだからじゃ vs2015で試したら添字演算子の結果を使わなければvoidのままでも動いたし 戻り値返すようにしたら普通の使い方もできたよ
734 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2017/06/17(土) 18:56:32.74 ID:a/4tSU3I.net] 話がそれるけど operator[] に initializer_list を渡したいときってどんなとき? 次元が動的に決まるようなコンテナとか?
735 名前:デフォルトの名無しさん mailto:sage [2017/06/18(日) 00:16:25.00 ID:sDQUBcQX.net] xyの二つの値を渡したかったんだろ 言わせんな恥ずかしい
736 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2017/06/18(日) 00:50:52.82 ID:fX2BYeVR.net] void って C++ の予約語の中ではカッコイイ言葉ナンバーワンだよな!
737 名前: ◆QZaw55cn4c mailto:sage [2017/06/18(日) 09:48:40.36 ID:BCfBDJC6.net] auto に席をゆずったらしい‥
738 名前:デフォルトの名無しさん mailto:sage [2017/06/19(月) 13:14:46.01 ID:dXkNDY8/.net] pascal とか fortran の方が良くね?
739 名前:デフォルトの名無しさん mailto:sage [2017/06/19(月) 13:45:34.22 ID:LlSBVcNV.net] 後藤
740 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2017/06/19(月) 14:29:30.47 ID:MatPzd+v.net] >>726 良かろうが悪かろうがこのスレに来てるのはそれでも C/C++ を使うってやつらなんだからその問いかけは無意味
741 名前:デフォルトの名無しさん mailto:sage [2017/06/19(月) 15:29:57.68 ID:dXkNDY8/.net] 予約語として他言語から呼べる万能感があるのに :-P C89では削除されたのだっけ
742 名前: ◆QZaw55cn4c mailto:sage [2017/06/19(月) 19:14:53.97 ID:zNrORK8z.net] >>727 setjmp/longjmp のインパクト!を考えると、いまいちだと思いますぅ
743 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 00:48:54.33 ID:tAZ0INkH.net] longjmpは無理やり過ぎだよな Cならではとも思うが
744 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 00:52:30.35 ID:tAZ0INkH.net] リターンアドレスレジスタみたいなの持ってる石だと ちょいとだけ複雑になるのかすぃら?
745 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 23:58:21.18 ID:f6m5FZzF.net] >>172 >MISRA-C研究会が書いている、MISRA-C 2004(C90) の本をみっちり、勉強しろ! >研究会のメンバーでさえ、規格に詳しい人がいないのだから 規格も理解できない奴らが集まって書いた27年前の規格の解説本って やばすぎだろ
746 名前:デフォルトの名無しさん mailto:sage [2017/06/21(水) 00:16:32.09 ID:vvvagSt1.net] 5ヶ月以上前のレスに反応するって やばすぎだろ
747 名前:デフォルトの名無しさん mailto:sage [2017/06/21(水) 04:19:48.48 ID:ZaPNA4YS.net] コンパイラやライブラリが腐っていることなんて 良くある事。利用者は配慮してくれないと (AA略)
748 名前:デフォルトの名無しさん mailto:sage [2017/06/21(水) 11:49:15.08 ID:x++JJuQ3.net] 最終的にできたものが使用通りならそれでいい 規格準拠度なんてどうでもいいな
749 名前:デフォルトの名無しさん mailto:sage [2017/06/21(水) 13:05:32.11 ID:sg+bsLqU.net] /* 仕様通り動いたコード */ int Z = 0; // これを消すと動かなくなる int Z2 = 0; // 2010.1.4. vcバグ回避の追加 char *s, *p; if (s==p) return 2; //これ必要?
750 名前:デフォルトの名無しさん mailto:sage [2017/06/23(金) 22:17:07.01 ID:U/0DguFU.net] A a = {}; これってコピーコンストラクタ呼ばれる可能性ある?
751 名前:デフォルトの名無しさん mailto:sage [2017/06/24(土) 00:27:16.63 ID:PfOqrM0w.net] ない
752 名前:デフォルトの名無しさん mailto:sage [2017/06/24(土) 00:27:41.83 ID:5MVxspQe.net] >>738 ない (もちろんaを構築するときに呼ばれるコンストラクタの話 Aのコンストラクタの中で起きることまでは知りようがない)
753 名前:デフォルトの名無しさん mailto:sage [2017/06/24(土) 09:24:07.49 ID:AroON3at.net] イコールあるけどコピーしないん? もう文法わけわからん
754 名前:デフォルトの名無しさん mailto:sage [2017/06/24(土) 13:28:24.19 ID:7MOF4v/u.net] 変数宣言のときの=はあくまで初期化であって、たまたま同じ記号を使ってるだけで代入とは違うと思ったほうがいい 同じと思うと他にもC++の参照とかで混乱する
755 名前:デフォルトの名無しさん [2017/06/24(土) 15:16:01.77 ID:qquEaJ2M.net] >>741 コピーしようがしまいが結果は一緒でしょ? 単に最適化の結果で余計な処理が動かないだけと考えればいい
756 名前:デフォルトの名無しさん mailto:sage [2017/06/24(土) 18:10:28.98 ID:Ipep7Yd5.net] >>743 一緒じゃねーよヴァカ乙 リソースはメモリだけと思ってんの?どんだけお花畑なの? mutex a = {};コピー無しの保証
757 名前:デフォルトの名無しさん [2017/06/26(月) 12:57:25.63 ID:dr/i6/ki.net] >>744 コピー出来るクラスを例に持って来いよ
758 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 18:40:34.84 ID:lG20CtJa.net] コピー出来ないクラスではコンパイル結果が異なるという>>744 の指摘に対して 「コピー出来るクラスを例に持って来い」とはこれ如何に
759 名前:デフォルトの名無しさん [2017/06/28(水) 18:53:40.08 ID:fwJBxSlX.net] >>746 その元コメントはコピーしようがしまいがと言ってるのにそもそもコピー出来ないクラス持ってきて罵倒とはこれ如何に
760 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 20:44:21.28 ID:VFMMUwAr.net] >>743 一緒じゃない 一緒になるようにクラスを設計すれば一緒というだけ
761 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 20:47:16.20 ID:VFMMUwAr.net] デフォルトコンストラクタでカレーライスを製造 コピーコンストラクタでラーメンを製造 代入でうどんを製造 同じか?
762 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 21:08:19.84 ID:lG20CtJa.net] >>743 が「コピーしようがしまいが」と言ったからこそ>>744 がコピーされてはは困る例を出したのだが 悲しきかな>>747 には理解ないのであった
763 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 21:16:03.41 ID:VFMMUwAr.net] いや、ちょっとズレてると思うよ
764 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 22:13:17.29 ID:xb2y2Mwj.net] 横から何だけど どうズレてるかの説明は無いの?
765 名前:デフォルトの名無しさん [2017/06/28(水) 22:25:47.08 ID:xMEBWJOX.net] コピーしない保証がC++17でさらに追加されたがそこで最適化でコピーしようが直接構築しようがどちらでもよかったC++14までの規格は彼の頭の中ではヴァカでお花畑らしい
766 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 23:59:13.87 ID:lG20CtJa.net] なるほど>>738 を初期化でなくcopy/move elisionの話だと勘違いしたままだとこのようなとんちんかんなレスになるのだな 残念なのが>>739-742 を読んでも勘違いに気付かないことだ
767 名前:デフォルトの名無しさん [2017/06/29(木) 00:23:16.57 ID:0BA30UdR.net] >>754 とりあえずお前が一番元のレス読んでないと言うことは解ったよ。 読んでるというなら彼が何を疑問に思ってるか、そしてそれへの説明をしてみるといい
768 名前:デフォルトの名無しさん mailto:sage [2017/06/29(木) 08:20:56.52 ID:J9UCM8ul.net] >>752 恐らく>>751 は「コピーしようがしまいが」について、コンパイル可否(>>750 で書いたコピーされてはは困る例)ではなく 「デフォルトコンストラクターで構築したものとそれをコピーして構築したものを概念的に同一視することの是非」こそが論点と主張している その片鱗が>>749
769 名前:デフォルトの名無しさん mailto:sage [2017/06/30(金) 16:06:42.41 ID:YTlik2k9.net] printf("おちんぽじゅぽじゅぽ")
770 名前:デフォルトの名無しさん mailto:sage [2017/06/30(金) 23:27:57.21 ID:SxEaPPM4.net] catch のところで例外を再スローすると 再スローされた例外の型は、catchの所に書いたスーパークラスの型に 差し代わってしまうの?
771 名前:デフォルトの名無しさん mailto:sage [2017/06/30(金) 23:50:44.58 ID:wfcExao2.net] 式無しのthrow;なら元の型のまま
772 名前:デフォルトの名無しさん mailto:sage [2017/07/01(土) 17:28:15.16 ID:T5yR4ind.net] 「型に差し代わってしまうの?」 ↓ 「〜なら元の型のまま」 確かにその通りなのだが、「型」に着目するあたり、 どうも仕様を正しく理解していないのではという気がしてならない
773 名前:デフォルトの名無しさん mailto:sage [2017/07/01(土) 22:43:53.34 ID:mdEe7tMk.net] c++は難しい分ほかの言語より色々できると聞いたんですがどういうことができるのでしょうか?
774 名前:デフォルトの名無しさん mailto:sage [2017/07/01(土) 22:56:09.11 ID:qtP/3v2i.net] メモリアクセスができます
775 名前:デフォルトの名無しさん mailto:sage [2017/07/01(土) 23:22:20.76 ID:sgaEl9jo.net] 難しいからではなく低級言語なのでハードウェアを直接操作するようなプログラムも書ける
776 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 00:10:04.15 ID:kxMmAO7v.net] >>762 >>763 ハードウェアに直接操作やメモリアクセスですか トンクスです
777 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 10:29:07.80 ID:TVPISEnD.net] 質問です doubleの計算誤差ってちゃんと考慮必要でしょうか? 数桁の四則演算なら誤差なしと考えていいですか?
778 名前:デフォルトの名無しさん [2017/07/02(日) 12:30:57.68 ID:w2e8t6sv.net] 考慮が必要な時もあるし 不要な時もある
779 名前:765 mailto:sage [2017/07/02(日) 13:04:46.92 ID:hIH6r6Dk.net] >>766 考慮必要ですか、、 ありがとうございます
780 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 14:24:20.03 ID:O/UEQvVu.net] 精度保証付きの演算ライブラリ使えば?
781 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 15:42:45.32 ID:1Me6IR2g.net] 4倍精度でも8倍精度でも多倍長でも整数でも有理数でも、使い方を間違えば誤差が問題になる 安直な処理で一番問題が発生しやすいのが整数丸めと比較 ごくごく微妙な誤差は何時でも含んでいると思うと良い
782 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 15:45:50.50 ID:1Me6IR2g.net] >>768 大抵の演算ライブラリや演算器は精度の保証がある
783 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 16:02:14.06 ID:O/UEQvVu.net] >>770 いや、そうじゃなくて浮動小数点計算誤差由来の誤差を解決するための分野とライブラリがあるんだよ 解をレンジで持ち続けるみたいな感じ Accuracy guaranteed numerical calculation でググるとたくさん出てくるよ
784 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 16:12:27.01 ID:1Me6IR2g.net] >>771 解をレンジで持ち続けて何か解決出来ると思うか? >>765 レベルの人が
785 名前:デフォルトの名無しさん [2017/07/02(日) 16:13:48.15 ID:9wrwY3nx.net] mpir、gmpだろ。これ使えば円周率1万でも1億でも正確に計算できるはず
786 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 16:15:08.10 ID:1Me6IR2g.net] 有理数を有理数のまま保持している分には、四則演算では誤差が発生しない もちろんオーバーフローしない条件で
787 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 16:16:17.16 ID:1Me6IR2g.net] >>773 前提条件は数桁の四則演算
788 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 16:18:03.31 ID:1Me6IR2g.net] doubleで計算を前提とし、誤差が問題となりやすい場面だけ教えてあげれば十分
789 名前:デフォルトの名無しさん [2017/07/02(日) 16:22:01.48 ID:9wrwY3nx.net] 実際、浮動小数点型の誤差は無視できないぞ。 float型とか、容量が少ないほど。情報処理の入門書の最初から出てくる話題だろ。
790 名前:デフォルトの名無しさん [2017/07/02(日) 16:22:48.13 ID:jIucKliD.net] いい加減スレタイ変えろよ 【初心者姦ゲイ】C/C++室 Ver.100【姦狂依存OK】
791 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 16:36:49.35 ID:1Me6IR2g.net] >>777 無視できる場合もあるし出来ない場合もある floatや半精度があるのはそれで十分な場合があるから
792 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 16:37:57.96 ID:1Me6IR2g.net] doubleより前に、整数演算の誤差を学ばなければならないレベルかも
793 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 16:42:50.35 ID:1Me6IR2g.net] >>765 >>768 >>777 まとめて
794 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 17:12:26.96 ID:ZK/8Emjh.net] コーディング規約で float、doubleは使用禁止が正解
795 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 18:20:54.13 ID:p749GQFM.net] 1/3の結果に3を掛けても1にならないとか、 0.1を10回足し合わせても1と一致しないとか、 その辺りは分かっているのかな?
796 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 18:24:15.36 ID:p749GQFM.net] >>782 質問者は浮動小数点数の演算のどこに注意点があるか分かっていない状態で、 いいから浮動小数点数は使うな、 というのは回答として乱暴過ぎるだろう。
797 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 18:38:08.40 ID:FdY2ZCkQ.net] ・同じ計算をするんでも なるべく精度の高いアルゴリズムを選ぶ ・0との比較では、絶対値と計算機epsilonの比較を用いる 他にある?