[過去ログ] 【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
703
(1): 2017/06/07(水)08:16 ID:PxDlVTZD(1) AAS
>>701
君は概念を理解できないだろうけど
コピーされては困るから「ムーブ」「セマンティクス」
なんだよ
性能に余裕があってもね
右辺値参照がなかったらスマポをvectorに入れることすらままならないよ
704: 2017/06/07(水)18:47 ID:CXRZvrBM(2/2) AAS
>>702
いや自分も軽く調べてすぐ見つかった例がunique_ptrだったからそれだろうと思った

>>703
偉そうに言う割に自分もいい加減なこと言ってるな
C++03以前を知らない学生か何かだろうけど、お前みたいに偉そうにドヤ顔する癖のあるやつで
使い物になるコード書くやつを俺は見たことない
恥ずかしいからその辺にしとけ
705
(1): 2017/06/10(土)17:42 ID:SxYi4azU(1) AAS
>>683
>・popの戻りはvoidにした方が無難
なぜなんだ?pop の戻りがナルなら空であることを示せてべんりだろう?
706: 2017/06/10(土)20:12 ID:JqmNS/A3(1) AAS
>>705
topとpop作れってことが言いたいんだろう多分
707: 2017/06/11(日)22:14 ID:iu5DR0Hy(1) AAS
「なぜなんだ?pop の戻りがナルなら空であることを示せてべんりだろう?」
 ↓
「topとpop作れ」

これがアスペというやつか
708: 2017/06/11(日)22:35 ID:q49UmmFG(1) AAS
お前アスペ言いたいだけだろ w
709
(1): はつみつ餃子 ◆8X2XSCHEME 2017/06/12(月)01:27 ID:M0cidITY(1) AAS
std::queue では pop と front に分けられてるからその習慣に合わせた方がいいってことじゃない?
ただ、 queue のデザインが出来たときはムーブがなかったから先頭要素にアクセスするために
(参照でなく) 値を返すと同時にコンテナから削除するのはコピーが発生して非効率ってこともあってこうなってると思う。
今ならもっと別の選択肢はあっていいと思う。

まあ、古いデザインを引き摺っている部分はあるとは言っても標準ライブラリはすごくよく考えられてるから、
どうしてそうなっているのかを考察したり真似したりするのは良いと思う。
710: 2017/06/12(月)01:48 ID:E1Ahh3IF(1) AAS
はつみつ
711: 2017/06/12(月)17:36 ID:t42bNJ0A(1) AAS
>>709は健常者
ただ理由は性能でなくて例外安全だろう
712
(2): 2017/06/17(土)07:59 ID:bupTq8cx(1/2) AAS
クラスの演算子オバーロードの
書き方全種類教えてください。
operator (*)やoperator ""や
operator ->()辺りが特に解説が少なくて
理解するのに困ってます。

よろしくお願いします。
713: はちゃめちゃ餃子 ◆8X2XSCHEME 2017/06/17(土)09:10 ID:a/4tSU3I(1/3) AAS
>>712
ユーザー定義リテラルについてはこのあたりが詳しいと思う。

外部リンク:ezoeryou.github.io
外部リンク[html]:cpprefjp.github.io

名前空間名で修飾することができないので、
namespace 内で定義されたものについては using してからでないと使えないという規則が微妙に気持ち悪い。
あまりお勧めしない。
標準ライブラリが提供している complex 型のリテラルや時間のリテラルもそんなに頻繁には使わなさそうだし、
よく使うのは string 型のリテラルくらいかなぁ。
714: 2017/06/17(土)11:23 ID:cPfPWWru(1/2) AAS
まずウェブブラウザーで
外部リンク:www.open-std.org
をアクセスします。
次に「N4660」のPDFをダウンロードします。
右下に336と書かれたページ(16.5 Overloaded operators)を開きます。
そこから5ページほどスクロールしながら、英文を見ずにコードだけ眺めます。
715: 2017/06/17(土)11:24 ID:cPfPWWru(2/2) AAS
oops...
× N4660
○ N4659
716
(1): ◆QZaw55cn4c 2017/06/17(土)12:02 ID:ir1eTLN6(1/2) AAS
>>712
ユーザー定義リテラルについては書かれていないが、それでも演算子オーバーロードについては
外部リンク:stlalv.la.coocan.jp
が詳しいのではないか?はちみつさんがこれに触れないのは不思議‥
717
(1): 2017/06/17(土)12:24 ID:qMkdrUOQ(1) AAS
あ、うんでもなんか、
外部リンク[html]:stlalv.la.coocan.jp
↑のページ読んだだけでもうダメなんじゃないかって
文章もなんか危ないというか危ういし

とおもったらQZか
な〜んだ納得
718: 2017/06/17(土)13:21 ID:ir1eTLN6(2/2) AAS
>>717
ハンガリアンは意見がわかれるからね‥
私はハンガリアンはやらないよ
719: はちみつ行者 ◆8X2XSCHEME 2017/06/17(土)14:21 ID:a/4tSU3I(2/3) AAS
>>716
自分が見ないページだから意識の外だった。
そのページはわかりやすく説明できているとは思うけど、
基本的な書き方で今更調べることはあんまりないよ。
720: 2017/06/17(土)14:31 ID:bupTq8cx(2/2) AAS
712です。
短いコードを打ちこんで動作を確認しました。
皆さん有り難うございました。

(ちょっと気になったのは
void operator [](std::initializer_list <int > list);
これがvsc2015では動作しなかったことぐらいです。
)
721: 653 2017/06/17(土)16:42 ID:YXyzn6OG(1) AAS
それ戻り値がvoidだからじゃ

vs2015で試したら添字演算子の結果を使わなければvoidのままでも動いたし
戻り値返すようにしたら普通の使い方もできたよ
722: はちみつ餃子 ◆8X2XSCHEME 2017/06/17(土)18:56 ID:a/4tSU3I(3/3) AAS
話がそれるけど operator[] に initializer_list を渡したいときってどんなとき?
次元が動的に決まるようなコンテナとか?
723: 2017/06/18(日)00:16 ID:sDQUBcQX(1) AAS
xyの二つの値を渡したかったんだろ
言わせんな恥ずかしい
724: はちみつ餃子 ◆8X2XSCHEME 2017/06/18(日)00:50 ID:fX2BYeVR(1) AAS
void って C++ の予約語の中ではカッコイイ言葉ナンバーワンだよな!
725: ◆QZaw55cn4c 2017/06/18(日)09:48 ID:BCfBDJC6(1) AAS
auto に席をゆずったらしい‥
726
(1): 2017/06/19(月)13:14 ID:dXkNDY8/(1/2) AAS
pascal とか fortran の方が良くね?
727
(1): 2017/06/19(月)13:45 ID:LlSBVcNV(1) AAS
後藤
728: はちみつ餃子 ◆8X2XSCHEME 2017/06/19(月)14:29 ID:MatPzd+v(1) AAS
>>726
良かろうが悪かろうがこのスレに来てるのはそれでも C/C++ を使うってやつらなんだからその問いかけは無意味
729: 2017/06/19(月)15:29 ID:dXkNDY8/(2/2) AAS
予約語として他言語から呼べる万能感があるのに :-P
C89では削除されたのだっけ
730: ◆QZaw55cn4c 2017/06/19(月)19:14 ID:zNrORK8z(1) AAS
>>727
setjmp/longjmp のインパクト!を考えると、いまいちだと思いますぅ
731: 2017/06/20(火)00:48 ID:tAZ0INkH(1/2) AAS
longjmpは無理やり過ぎだよな
Cならではとも思うが
732: 2017/06/20(火)00:52 ID:tAZ0INkH(2/2) AAS
リターンアドレスレジスタみたいなの持ってる石だと
ちょいとだけ複雑になるのかすぃら?
733: 2017/06/20(火)23:58 ID:f6m5FZzF(1) AAS
>>172
>MISRA-C研究会が書いている、MISRA-C 2004(C90) の本をみっちり、勉強しろ!
>研究会のメンバーでさえ、規格に詳しい人がいないのだから

規格も理解できない奴らが集まって書いた27年前の規格の解説本って
やばすぎだろ
734: 2017/06/21(水)00:16 ID:vvvagSt1(1) AAS
5ヶ月以上前のレスに反応するって
やばすぎだろ
735: 2017/06/21(水)04:19 ID:ZaPNA4YS(1) AAS
コンパイラやライブラリが腐っていることなんて
良くある事。利用者は配慮してくれないと (AA略)
736: 2017/06/21(水)11:49 ID:x++JJuQ3(1) AAS
最終的にできたものが使用通りならそれでいい
規格準拠度なんてどうでもいいな
737: 2017/06/21(水)13:05 ID:sg+bsLqU(1) AAS
/* 仕様通り動いたコード */
int Z = 0; // これを消すと動かなくなる
int Z2 = 0; // 2010.1.4. vcバグ回避の追加
char *s, *p;
if (s==p) return 2; //これ必要?
738
(2): 2017/06/23(金)22:17 ID:U/0DguFU(1) AAS
A a = {};
これってコピーコンストラクタ呼ばれる可能性ある?
739
(1): 2017/06/24(土)00:27 ID:PfOqrM0w(1) AAS
ない
740
(1): 2017/06/24(土)00:27 ID:5MVxspQe(1) AAS
>>738
ない
(もちろんaを構築するときに呼ばれるコンストラクタの話
Aのコンストラクタの中で起きることまでは知りようがない)
741
(2): 2017/06/24(土)09:24 ID:AroON3at(1) AAS
イコールあるけどコピーしないん?
もう文法わけわからん
742
(1): 2017/06/24(土)13:28 ID:7MOF4v/u(1) AAS
変数宣言のときの=はあくまで初期化であって、たまたま同じ記号を使ってるだけで代入とは違うと思ったほうがいい

同じと思うと他にもC++の参照とかで混乱する
743
(3): 2017/06/24(土)15:16 ID:qquEaJ2M(1) AAS
>>741
コピーしようがしまいが結果は一緒でしょ?
単に最適化の結果で余計な処理が動かないだけと考えればいい
744
(3): 2017/06/24(土)18:10 ID:Ipep7Yd5(1) AAS
>>743
一緒じゃねーよヴァカ乙
リソースはメモリだけと思ってんの?どんだけお花畑なの?
mutex a = {};コピー無しの保証
745: 2017/06/26(月)12:57 ID:dr/i6/ki(1) AAS
>>744
コピー出来るクラスを例に持って来いよ
746
(1): 2017/06/28(水)18:40 ID:lG20CtJa(1/3) AAS
コピー出来ないクラスではコンパイル結果が異なるという>>744の指摘に対して
「コピー出来るクラスを例に持って来い」とはこれ如何に
747
(1): 2017/06/28(水)18:53 ID:fwJBxSlX(1) AAS
>>746
その元コメントはコピーしようがしまいがと言ってるのにそもそもコピー出来ないクラス持ってきて罵倒とはこれ如何に
748: 2017/06/28(水)20:44 ID:VFMMUwAr(1/3) AAS
>>743
一緒じゃない
一緒になるようにクラスを設計すれば一緒というだけ
749
(1): 2017/06/28(水)20:47 ID:VFMMUwAr(2/3) AAS
デフォルトコンストラクタでカレーライスを製造
コピーコンストラクタでラーメンを製造
代入でうどんを製造

同じか?
750
(1): 2017/06/28(水)21:08 ID:lG20CtJa(2/3) AAS
>>743が「コピーしようがしまいが」と言ったからこそ>>744がコピーされてはは困る例を出したのだが
悲しきかな>>747には理解ないのであった
751
(1): 2017/06/28(水)21:16 ID:VFMMUwAr(3/3) AAS
いや、ちょっとズレてると思うよ
752
(1): 2017/06/28(水)22:13 ID:xb2y2Mwj(1) AAS
横から何だけど
どうズレてるかの説明は無いの?
753: 2017/06/28(水)22:25 ID:xMEBWJOX(1) AAS
コピーしない保証がC++17でさらに追加されたがそこで最適化でコピーしようが直接構築しようがどちらでもよかったC++14までの規格は彼の頭の中ではヴァカでお花畑らしい
754
(1): 2017/06/28(水)23:59 ID:lG20CtJa(3/3) AAS
なるほど>>738を初期化でなくcopy/move elisionの話だと勘違いしたままだとこのようなとんちんかんなレスになるのだな
残念なのが>>739-742を読んでも勘違いに気付かないことだ
755: 2017/06/29(木)00:23 ID:0BA30UdR(1) AAS
>>754
とりあえずお前が一番元のレス読んでないと言うことは解ったよ。
読んでるというなら彼が何を疑問に思ってるか、そしてそれへの説明をしてみるといい
756: 2017/06/29(木)08:20 ID:J9UCM8ul(1) AAS
>>752
恐らく>>751は「コピーしようがしまいが」について、コンパイル可否(>>750で書いたコピーされてはは困る例)ではなく
「デフォルトコンストラクターで構築したものとそれをコピーして構築したものを概念的に同一視することの是非」こそが論点と主張している
その片鱗が>>749
757: 2017/06/30(金)16:06 ID:YTlik2k9(1) AAS
printf("おちんぽじゅぽじゅぽ")
758: 2017/06/30(金)23:27 ID:SxEaPPM4(1) AAS
catch のところで例外を再スローすると
再スローされた例外の型は、catchの所に書いたスーパークラスの型に
差し代わってしまうの?
759: 2017/06/30(金)23:50 ID:wfcExao2(1) AAS
式無しのthrow;なら元の型のまま
760: 2017/07/01(土)17:28 ID:T5yR4ind(1) AAS
「型に差し代わってしまうの?」
 ↓
「〜なら元の型のまま」

確かにその通りなのだが、「型」に着目するあたり、
どうも仕様を正しく理解していないのではという気がしてならない
761: 2017/07/01(土)22:43 ID:mdEe7tMk(1) AAS
c++は難しい分ほかの言語より色々できると聞いたんですがどういうことができるのでしょうか?
762
(1): 2017/07/01(土)22:56 ID:qtP/3v2i(1) AAS
メモリアクセスができます
763
(1): 2017/07/01(土)23:22 ID:sgaEl9jo(1) AAS
難しいからではなく低級言語なのでハードウェアを直接操作するようなプログラムも書ける
764: 2017/07/02(日)00:10 ID:kxMmAO7v(1) AAS
>>762
>>763
ハードウェアに直接操作やメモリアクセスですか
トンクスです
765
(3): 2017/07/02(日)10:29 ID:TVPISEnD(1) AAS
質問です
doubleの計算誤差ってちゃんと考慮必要でしょうか?
数桁の四則演算なら誤差なしと考えていいですか?
766
(1): 2017/07/02(日)12:30 ID:w2e8t6sv(1) AAS
考慮が必要な時もあるし
不要な時もある
767: 765 2017/07/02(日)13:04 ID:hIH6r6Dk(1) AAS
>>766
考慮必要ですか、、
ありがとうございます
768
(2): 2017/07/02(日)14:24 ID:O/UEQvVu(1/2) AAS
精度保証付きの演算ライブラリ使えば?
769
(1): 2017/07/02(日)15:42 ID:1Me6IR2g(1/16) AAS
4倍精度でも8倍精度でも多倍長でも整数でも有理数でも、使い方を間違えば誤差が問題になる

安直な処理で一番問題が発生しやすいのが整数丸めと比較
ごくごく微妙な誤差は何時でも含んでいると思うと良い
770
(1): 2017/07/02(日)15:45 ID:1Me6IR2g(2/16) AAS
>>768
大抵の演算ライブラリや演算器は精度の保証がある
771
(1): 2017/07/02(日)16:02 ID:O/UEQvVu(2/2) AAS
>>770
いや、そうじゃなくて浮動小数点計算誤差由来の誤差を解決するための分野とライブラリがあるんだよ
解をレンジで持ち続けるみたいな感じ
Accuracy guaranteed numerical calculation でググるとたくさん出てくるよ
772: 2017/07/02(日)16:12 ID:1Me6IR2g(3/16) AAS
>>771
解をレンジで持ち続けて何か解決出来ると思うか?
>>765レベルの人が
773
(1): 2017/07/02(日)16:13 ID:9wrwY3nx(1/4) AAS
mpir、gmpだろ。これ使えば円周率1万でも1億でも正確に計算できるはず
774: 2017/07/02(日)16:15 ID:1Me6IR2g(4/16) AAS
有理数を有理数のまま保持している分には、四則演算では誤差が発生しない

もちろんオーバーフローしない条件で
775: 2017/07/02(日)16:16 ID:1Me6IR2g(5/16) AAS
>>773
前提条件は数桁の四則演算
776: 2017/07/02(日)16:18 ID:1Me6IR2g(6/16) AAS
doubleで計算を前提とし、誤差が問題となりやすい場面だけ教えてあげれば十分
777
(2): 2017/07/02(日)16:22 ID:9wrwY3nx(2/4) AAS
実際、浮動小数点型の誤差は無視できないぞ。
float型とか、容量が少ないほど。情報処理の入門書の最初から出てくる話題だろ。
778: 2017/07/02(日)16:22 ID:jIucKliD(1) AAS
いい加減スレタイ変えろよ

【初心者姦ゲイ】C/C++室 Ver.100【姦狂依存OK】
779: 2017/07/02(日)16:36 ID:1Me6IR2g(7/16) AAS
>>777
無視できる場合もあるし出来ない場合もある
floatや半精度があるのはそれで十分な場合があるから
780: 2017/07/02(日)16:37 ID:1Me6IR2g(8/16) AAS
doubleより前に、整数演算の誤差を学ばなければならないレベルかも
781: 2017/07/02(日)16:42 ID:1Me6IR2g(9/16) AAS
>>765
>>768
>>777
まとめて
782
(2): 2017/07/02(日)17:12 ID:ZK/8Emjh(1) AAS
コーディング規約で
float、doubleは使用禁止が正解
783
(1): 2017/07/02(日)18:20 ID:p749GQFM(1/3) AAS
1/3の結果に3を掛けても1にならないとか、
0.1を10回足し合わせても1と一致しないとか、
その辺りは分かっているのかな?
784: 2017/07/02(日)18:24 ID:p749GQFM(2/3) AAS
>>782
質問者は浮動小数点数の演算のどこに注意点があるか分かっていない状態で、
いいから浮動小数点数は使うな、
というのは回答として乱暴過ぎるだろう。
785
(2): 2017/07/02(日)18:38 ID:FdY2ZCkQ(1) AAS
・同じ計算をするんでも
なるべく精度の高いアルゴリズムを選ぶ
・0との比較では、絶対値と計算機epsilonの比較を用いる

他にある?
786
(1): 2017/07/02(日)18:50 ID:MoO3L/4V(1/2) AAS
>・0との比較では、絶対値と計算機epsilonの比較を用いる

何かとごっちゃになってる気がする。
計算の収束判定等で用いるのは機械イプシロンじゃない。
787: 2017/07/02(日)19:09 ID:MlDTzv8m(1) AAS
>>785
0との比較に限らず、比較には絶対値の大きさに応じたεの考慮が必要。
788: 2017/07/02(日)19:18 ID:ttjnRDkm(1) AAS
機械イプシロンはあくまでも最大値だよね
789: 2017/07/02(日)20:17 ID:+3axEb/N(1/3) AAS
初めて知りました
790: 2017/07/02(日)20:44 ID:+3axEb/N(2/3) AAS
数桁のdouble計算で誤差が問題になる場面では「誤差が存在する」ことが問題であって、精度を上げることは(誤差の大小は)本質的な解決でないような
(3.1 - 2.9 > 0.2) != (3.1 > 2.9 + 0.2)みたいな
791: 2017/07/02(日)21:37 ID:9wrwY3nx(3/4) AAS
計算順序で誤差が違ってくるのは教科書でよくかいてある
792
(4): 2017/07/02(日)22:54 ID:ynDhLM7Z(1) AAS
情報処理資格に受かっていない人が、C/C++ をプログラミングするなど、10年早い

C/C++ は、直接デバイスを扱うから、自作パソコンを作れるぐらいに、
かなりパソコン内部の装置の仕組みを、知っていないと無理

さらに組み込みなら、高度情報処理のエンベッド資格も必要
793: 2017/07/02(日)22:59 ID:9wrwY3nx(4/4) AAS
そんなことはない
794: 2017/07/02(日)22:59 ID:MoO3L/4V(2/2) AAS
お前は試験に受かってからプログラミング始めるのかw
795: 2017/07/02(日)23:03 ID:UYpoTCPe(1) AAS
パソコンって、アドレスバスの、メモリ読み書きで、
デバイスを、直接操作するのか?
それとも、アドレスA0000に文字を書き込むのか?
その知識、30年くらい、遅くね?
796: 2017/07/02(日)23:32 ID:1Me6IR2g(10/16) AAS
>>782
整数も除算に誤差があるから禁止
797
(1): 2017/07/02(日)23:32 ID:1Me6IR2g(11/16) AAS
>>783
整数でも1/3*3は1にならない
798
(1): 2017/07/02(日)23:35 ID:1Me6IR2g(12/16) AAS
>>785
コストも考えなさい

epsilonは>>786の通り
補足すると、
収束判定に限らず、普通はepsilonで判定しない
799: 2017/07/02(日)23:36 ID:iWsKHD5Z(1/2) AAS
0になるし誤差はないな
800: 2017/07/02(日)23:36 ID:1Me6IR2g(13/16) AAS
>>792
情報処理資格www
なんの役にもたたない
801: 2017/07/02(日)23:36 ID:iWsKHD5Z(2/2) AAS
って触れちゃダメな奴だったかすまん
802: 2017/07/02(日)23:38 ID:+3axEb/N(3/3) AAS
前回、共用体の非アクティブメンバーアクセスが許されるcommon initial sequenceの条件である「型の互換性」に目を付けたレスを見た時は
>>792がもう少し見所の有る奴だと思っていた(過去形)
1-
あと 200 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.711s*