[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/03 02:10 / Filesize : 267 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.100【環境依存OK】



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/

692 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 22:21:08.74 ID:4s9JqZC9.net]
>>680
ありがとう
見直してみる

693 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 23:59:40.42 ID:4s9JqZC9.net]
>>680の指摘を受けて修正したやつ
https://ideone.com/4PDU5a

694 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 07:13:59.57 ID:dSqD3vhj.net]
>>682
20秒ほど眺めたがとりあえず3つほどなおした方がいい
・key_のメンバー宣言に{}が付いていないと、修正前と同じ動作にならない
・popの戻りはvoidにした方が無難
・clear()しても要素のデストラクターが呼ばれないのでstatic_assert(std::is_trivial_destructible<element_type>::value,"未対応")しとくのが礼儀

695 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 08:02:20.82 ID:SbeuyTlX.net]
>>683
一つ目だけ意味がわからない…28行目のこと??なんで?

696 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 08:16:13.98 ID:dSqD3vhj.net]
>>684
その通り28行目
struct X {
 some_type m1 /* {} */;
 X() = default;
};
ここでsome_typeの初期化{}が無いとm1は未初期化になるし、
some_typeにデフォルトコンストラクターが無ければX()の「=default」が「=delete」扱いになる

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より前に、整数演算の誤差を学ばなければならないレベルかも






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<267KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef