次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part130
http://mevius.2ch.net/test/read.cgi/tech/1490917669/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1478440682/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part131 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 3b96-ov1m)
2017/07/29(土) 11:28:28.97ID:o30VDF4g0355デフォルトの名無しさん (ワッチョイ cac5-5mwo)
2017/08/27(日) 15:29:34.75ID:nap9vlyD0 >>354
>寿命が尽きたオブジェクトにはアクセスは許されないから
>もはや logical も bitwise も関係なく const 性は無意味になる。
これはだいたいワカタ
前半はわからん
bitwise const でないオブジェクトがROMに割り付けられたり、とか、
bitwise const でないオブジェクトがmemcpy()的手段で同じビットパターンに繰り返し上書きされるみたいな
処理があったりするとbitwise constでないことは致命的だが
それ以外のケースではconstといいつつクラス内部ではmutableな扱いであっても全く実害無いんじゃ…
ていうかそもそもC++の非PODオブジェクトに対するconstはbitwise constなのかかなり疑問が、、
>寿命が尽きたオブジェクトにはアクセスは許されないから
>もはや logical も bitwise も関係なく const 性は無意味になる。
これはだいたいワカタ
前半はわからん
bitwise const でないオブジェクトがROMに割り付けられたり、とか、
bitwise const でないオブジェクトがmemcpy()的手段で同じビットパターンに繰り返し上書きされるみたいな
処理があったりするとbitwise constでないことは致命的だが
それ以外のケースではconstといいつつクラス内部ではmutableな扱いであっても全く実害無いんじゃ…
ていうかそもそもC++の非PODオブジェクトに対するconstはbitwise constなのかかなり疑問が、、
356はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0a15-2x4P)
2017/08/27(日) 16:21:07.86ID:hmah67i90 >>355
logical const であれば性質として充分だよ。
だけど、それをコンパイラがチェックすることは出来ないから、
原則としては bitwise const を要求して、
それがちゃんとできてなけりゃエラーも出す。
だけど、 bitwise でなくても logical に出来る場面では
プログラマの責任でやるよっていうのを mutable キーワードで表すってわけ。
logical const であれば性質として充分だよ。
だけど、それをコンパイラがチェックすることは出来ないから、
原則としては bitwise const を要求して、
それがちゃんとできてなけりゃエラーも出す。
だけど、 bitwise でなくても logical に出来る場面では
プログラマの責任でやるよっていうのを mutable キーワードで表すってわけ。
357デフォルトの名無しさん (ワッチョイ 294d-vgeI)
2017/08/27(日) 16:23:29.96ID:Pcpci17F0 ルールを増やせば増やすほど使ってもらえない。
358デフォルトの名無しさん (ワッチョイ 29e4-xRau)
2017/08/27(日) 16:50:02.45ID:99717IEt0 しかし現実には使われているもよう
359デフォルトの名無しさん (ワッチョイ 1a91-oKtA)
2017/08/27(日) 16:52:16.64ID:OhTIHz5/0 おい、mutableなんてキーワード初めて知ったぞw
ググってみたらC++11から導入されてたんだな知らんかった、、、
ググってみたらC++11から導入されてたんだな知らんかった、、、
360デフォルトの名無しさん (ワントンキン MM5a-aFRh)
2017/08/27(日) 16:55:16.46ID:7+G8dT33M またまたご冗談を
361はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0a15-2x4P)
2017/08/27(日) 17:26:13.10ID:hmah67i90 >>359
ANSI で規格化された最初から有ったがな (´・ω・`)
ANSI で規格化された最初から有ったがな (´・ω・`)
362デフォルトの名無しさん (ワッチョイ c6ba-E8CI)
2017/08/27(日) 19:19:01.73ID:+rBIMmXP0 >>359
いやいやおいおい…
いやいやおいおい…
363デフォルトの名無しさん (オッペケ Sr6d-9IFt)
2017/08/27(日) 22:57:23.47ID:epttQBO0r 「C++の非PODオブジェクトに対するconstはbitwise constなのかかなり疑問が」
標準レイアウトではないconstexprなオブジェクトはビットレベルでconstなのだろうか
constexpr struct A { constexpr A()=default; int m=1; private: int n=2; } a;
確かに疑問だ
標準レイアウトではないconstexprなオブジェクトはビットレベルでconstなのだろうか
constexpr struct A { constexpr A()=default; int m=1; private: int n=2; } a;
確かに疑問だ
364デフォルトの名無しさん (ワッチョイ 294d-vgeI)
2017/08/27(日) 23:06:36.65ID:Pcpci17F0 どんどんキーワードが増えるのは思いつきで仕様を決めてるからだ。
無能SEの下のプロジェクトではよくあること。
50年は仕様を追加しないつもりで仕様を決めてほしい。
無能SEの下のプロジェクトではよくあること。
50年は仕様を追加しないつもりで仕様を決めてほしい。
365はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0a15-2x4P)
2017/08/27(日) 23:35:20.73ID:hmah67i90 コンピュータを取り巻く事情は予想の斜め上をいく形でどんどん変わるのに言語だけのんびりしとれるかいな
366デフォルトの名無しさん (ワッチョイ 29e4-xRau)
2017/08/28(月) 00:12:36.48ID:OtmMiMVk0 永久に仕様が追加されない言語なんてたくさんあるから好きなのを使いなよ
機能が必要になった背景やそれを追加することが適当だという根拠まで知ってろとは言わないからさ
機能が必要になった背景やそれを追加することが適当だという根拠まで知ってろとは言わないからさ
367デフォルトの名無しさん (ワッチョイ 294d-vgeI)
2017/08/28(月) 00:24:42.42ID:JtlNpsV60 雑魚に上から言われる筋合いはない。そんな態度だから囲まれて職質されるんだよ。
368デフォルトの名無しさん (ワッチョイ cac5-5mwo)
2017/08/28(月) 00:26:53.59ID:GiFa6ZsP0 つ、追加しなくても1.5年待てば倍速くなるもん…!
ていうかメモリバリア周りの扱いが未だに規格化されていないのは言語としてはお寒い状況だといわざるおえない
ゆくゆくはOpenMPIを正式に取り込んでキャッシュスヌープ無しのメニーコア環境でも
最高のパフォーマンスを発揮できるだけの選択肢をプログラマに提示し、
さらにはGPGPU対応もしてホスイ、
ていうかメモリバリア周りの扱いが未だに規格化されていないのは言語としてはお寒い状況だといわざるおえない
ゆくゆくはOpenMPIを正式に取り込んでキャッシュスヌープ無しのメニーコア環境でも
最高のパフォーマンスを発揮できるだけの選択肢をプログラマに提示し、
さらにはGPGPU対応もしてホスイ、
369デフォルトの名無しさん (ワッチョイ cac5-5mwo)
2017/08/28(月) 00:29:36.83ID:GiFa6ZsP0 スマンOpenMPIはOpenMPのつもりで言った!
370デフォルトの名無しさん (ワッチョイ 41e1-xc3z)
2017/08/28(月) 01:19:26.30ID:83bJD8zl0 openmpみたいなマクロまみれよりtbbのほうが好き
371デフォルトの名無しさん (ワッチョイ 294d-vgeI)
2017/08/28(月) 01:23:37.61ID:JtlNpsV60 そんなに新機能を追加したいなら、新しく別言語を創れ。JavaやC#みたに成功して普及した事例はいくらでもある。
一度普及した言語に、碌に実務でコードも書いたことないような輩が後からやってきてデタラメな糞仕様を追加するんじゃない。
一度普及した言語に、碌に実務でコードも書いたことないような輩が後からやってきてデタラメな糞仕様を追加するんじゃない。
372デフォルトの名無しさん (ワッチョイ 29e4-xRau)
2017/08/28(月) 01:31:42.56ID:OtmMiMVk0 後から来た輩(ビャーネ・ストラウストラップ)
373デフォルトの名無しさん (ワッチョイ 294d-vgeI)
2017/08/28(月) 01:37:29.69ID:JtlNpsV60 CとC++が同じ言語と思ってるとは、さすが見込みどおりの雑魚。
374デフォルトの名無しさん (ワッチョイ feea-w74m)
2017/08/28(月) 02:11:44.25ID:nC18rNgy0 実務でコード書く人=Windowフォームにボタンを乗せる仕事の人
375はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0a15-2x4P)
2017/08/28(月) 03:06:17.85ID:yPLR2tUq0 ライブラリの蓄積もあるからさ。 負債の蓄積とのバランスだよねー。
ときどき Go とか Rust とかみたいなのが出てきて一新してくれりゃいいんだけど、
C++ はともかく C はいつまでも死なない気がする。
ときどき Go とか Rust とかみたいなのが出てきて一新してくれりゃいいんだけど、
C++ はともかく C はいつまでも死なない気がする。
376デフォルトの名無しさん (ワッチョイ cac5-5mwo)
2017/08/28(月) 07:31:44.71ID:GiFa6ZsP0 別に新機能のほしいものリストを無秩序に書き連ねたわけではないもん;;
C++はSimulaの代替品として登場した時点から実行時パフォーマンスの追求を意識していたし、
理解しやすさなら他の言語を選択すればよい昨今においては
特に実行時パフォーマンスの追求こそがC++の存在意義として強調されるべき
テンプレートによるメタプログラミングに最高の効率を阻害する穴があれば塞がれねばならないし、
最適化がほっといたら中途半端にとどまるケースには尻を叩くキーワードが追加されねばならないし、
そのときどきのアーキテクチャーの詳細に立ち入ってでもあらゆる実行時パフォーマンス追求手段が
プログラマに提示されねばならない
インテリセンスがまともに働かないとかテンプレートの分割コンパイルがもはや完成しないバベルの塔だとか
言語規格が変わり続けて解説書が分厚くなる一方だといった側面の不調法はそうであってこそ許容される、
C++はSimulaの代替品として登場した時点から実行時パフォーマンスの追求を意識していたし、
理解しやすさなら他の言語を選択すればよい昨今においては
特に実行時パフォーマンスの追求こそがC++の存在意義として強調されるべき
テンプレートによるメタプログラミングに最高の効率を阻害する穴があれば塞がれねばならないし、
最適化がほっといたら中途半端にとどまるケースには尻を叩くキーワードが追加されねばならないし、
そのときどきのアーキテクチャーの詳細に立ち入ってでもあらゆる実行時パフォーマンス追求手段が
プログラマに提示されねばならない
インテリセンスがまともに働かないとかテンプレートの分割コンパイルがもはや完成しないバベルの塔だとか
言語規格が変わり続けて解説書が分厚くなる一方だといった側面の不調法はそうであってこそ許容される、
377デフォルトの名無しさん (ワッチョイ cac5-5mwo)
2017/08/28(月) 07:36:18.26ID:GiFa6ZsP0 機械の方が人間より賢くプログラムするようになってアセンブラが滅びたら
Cも滅びる気がする
Cも滅びる気がする
378デフォルトの名無しさん (ワッチョイ ad09-tVhQ)
2017/08/28(月) 07:36:46.75ID:96+DvSIX0 ウニファイドコールシンタックスを直ちに入れるのです。
コードサジェストが爆発してもいいじゃない。
コードサジェストが爆発してもいいじゃない。
379デフォルトの名無しさん (ワッチョイ ad09-tVhQ)
2017/08/28(月) 07:43:38.48ID:96+DvSIX0380デフォルトの名無しさん (ワッチョイ cac5-5mwo)
2017/08/28(月) 07:58:00.50ID:GiFa6ZsP0 中間言語とか3番地コードと条件判断とgotoで必要にしてほぼ十分なのでは…
381デフォルトの名無しさん (ワッチョイ ad09-tVhQ)
2017/08/28(月) 08:00:37.13ID:96+DvSIX0382デフォルトの名無しさん (ブーイモ MMb9-E8CI)
2017/08/28(月) 12:49:34.85ID:0HhHgrwNM ちょっとしたコーディングミスで、以下の簡易コードように書いてしまって、ハマったのですが、コンパイルエラーにならなかった事に驚きました。
string a(何らかの文字列);
string s = s.replace(置換指示); //a.replace() と書こうとした。
コピーコンストラクトの右辺に、構築中(?)の自分自身を使ってしまったと言う事なのですが、これは規格上合法なのでしょうか?
string a(何らかの文字列);
string s = s.replace(置換指示); //a.replace() と書こうとした。
コピーコンストラクトの右辺に、構築中(?)の自分自身を使ってしまったと言う事なのですが、これは規格上合法なのでしょうか?
383デフォルトの名無しさん (ブーイモ MMb9-E8CI)
2017/08/28(月) 12:59:59.78ID:0HhHgrwNM ↑のサンプル貼っておきます。
https://ideone.com/X4ILlf
https://ideone.com/X4ILlf
384デフォルトの名無しさん (ワッチョイ ad09-tVhQ)
2017/08/28(月) 13:04:19.26ID:96+DvSIX0 x^=x でゼロになるんだっけ。
一応昔からある文法だけど。
一応昔からある文法だけど。
385デフォルトの名無しさん (スップ Sdca-vlGO)
2017/08/28(月) 16:57:17.16ID:KK7lC/68d >>384
それの使い道がよくわからん
コンパイラと環境によっては x=0 より速かったりとか?
即値は全て名前を付けなきゃいけないとかいう糞コーディングルールの回避とか?
volatileをつけて、
ダミーリードと0クリアを1文で書けるとか?
思い付くのはこのくらい
それの使い道がよくわからん
コンパイラと環境によっては x=0 より速かったりとか?
即値は全て名前を付けなきゃいけないとかいう糞コーディングルールの回避とか?
volatileをつけて、
ダミーリードと0クリアを1文で書けるとか?
思い付くのはこのくらい
386デフォルトの名無しさん (ワッチョイ 4acd-Xu5m)
2017/08/28(月) 17:22:45.55ID:3VrqihWx0 コンストラクタが実行される前なのでオブジェクトの内容は不定だろうし
不定なオブジェクトにも適切にアクセスする場合なら合法かもしれない
ただ不定な変数を使って何かしようとすると途端に undefined behavior 地雷を
踏むことが多いのでそこで頑張っても実りがあるとも思えないけど
不定なオブジェクトにも適切にアクセスする場合なら合法かもしれない
ただ不定な変数を使って何かしようとすると途端に undefined behavior 地雷を
踏むことが多いのでそこで頑張っても実りがあるとも思えないけど
387デフォルトの名無しさん (ワッチョイ c61c-9BKz)
2017/08/28(月) 17:43:39.28ID:+dyqlMtL0 >>385
アセンブラでよく使う xor eax,eax を逆コンパイルするとアレになる
アセンブラでよく使う xor eax,eax を逆コンパイルするとアレになる
388デフォルトの名無しさん (ワッチョイ ca9f-tmrH)
2017/08/28(月) 17:52:50.38ID:eeKFZJ460 のっぷぁ
389デフォルトの名無しさん (ワッチョイ ca9f-tmrH)
2017/08/28(月) 17:54:52.47ID:eeKFZJ460 or eax,eax だろバカチン
390片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdea-sbdr)
2017/08/28(月) 18:02:16.04ID:HJX32+mcd xor eax,eaxがゼロクリアで、
or eax,eaxが何もしない。
or eax,eaxが何もしない。
391デフォルトの名無しさん (ワッチョイ b500-vlGO)
2017/08/28(月) 18:08:57.91ID:Wq6HqE7w0 さすがにPC系コンパイラで
0クリアを最適化しないのは無いかと
xor eax, eax は0イディオムとか言って、
普通のxorとは微妙に扱いが異なる
昔は sub ax, axより xor ax, axの方が微妙に速かったりした
今はフラグ以外は同じ
>>390
何もしないわけじやない
ちゃんとフラグが変わる
0クリアを最適化しないのは無いかと
xor eax, eax は0イディオムとか言って、
普通のxorとは微妙に扱いが異なる
昔は sub ax, axより xor ax, axの方が微妙に速かったりした
今はフラグ以外は同じ
>>390
何もしないわけじやない
ちゃんとフラグが変わる
392デフォルトの名無しさん (ワッチョイ 4af0-vgeI)
2017/08/28(月) 18:38:50.00ID:7lbHEj3b0 ttp://www.st.rim.or.jp/~nkomatsu/premicro/corezoom2.JPG
昔とはこういうスゴイ編み物の時代ですかね
昔とはこういうスゴイ編み物の時代ですかね
393デフォルトの名無しさん (ワッチョイ b500-vlGO)
2017/08/28(月) 19:05:01.12ID:Wq6HqE7w0 だね
394片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdea-sbdr)
2017/08/28(月) 19:10:04.94ID:HJX32+mcd 編み物だって意味のあるつまらないことの積み重ねで実現されている。
プログラミングだって多分同じ。
プログラミングだって多分同じ。
395デフォルトの名無しさん (スップ Sdca-vlGO)
2017/08/28(月) 19:36:30.92ID:KK7lC/68d コルモゴロフの最小プログラムに対しても同じ事が言える?
396デフォルトの名無しさん (ブーイモ MMb9-E8CI)
2017/08/28(月) 19:37:58.17ID:y0vE8H3MM397デフォルトの名無しさん (オッペケ Sr6d-9IFt)
2017/08/28(月) 19:41:20.09ID:MWmJNebXr398デフォルトの名無しさん (スップ Sdca-vlGO)
2017/08/28(月) 19:41:46.31ID:KK7lC/68d 別のsが定義されてるとか
399デフォルトの名無しさん (ワッチョイ 2aef-vgeI)
2017/08/28(月) 19:58:41.88ID:rn9GWLpv0400デフォルトの名無しさん (スップ Sdca-vlGO)
2017/08/28(月) 20:21:02.23ID:KK7lC/68d x86の話をしてるわけだけど
401デフォルトの名無しさん (スップ Sdca-vlGO)
2017/08/28(月) 20:22:04.01ID:KK7lC/68d eaxなんてレジスタ、他にあるか?
402デフォルトの名無しさん (ワッチョイ cac5-5mwo)
2017/08/28(月) 20:48:55.97ID:GiFa6ZsP0 inline void zero_clear(int& x) { x ^= x; }
403デフォルトの名無しさん (ワッチョイ cac5-5mwo)
2017/08/28(月) 20:55:31.76ID:GiFa6ZsP0 3E AF
404デフォルトの名無しさん (アウアウウー Sa91-WCa5)
2017/08/28(月) 22:22:13.51ID:Na7nyTMka そう言えば64bitアセンブラ勉強してた時ウェブで64bitレジスタでxor rax raxってするより、64bitプログラムでもxor eax eaxってした方が機械語短いって書いてたな。
アセンブラ上は同じ長さだけど、機械語上は64bit命令の方が長い&32bitレジスタへの操作は自動的に64bitレジスタの上位bitがゼロクリアされるから同じ動きになるとかなんとか。
キャッシュに入るコードが増えるから速くもなるらしい。
アセンブラ上は同じ長さだけど、機械語上は64bit命令の方が長い&32bitレジスタへの操作は自動的に64bitレジスタの上位bitがゼロクリアされるから同じ動きになるとかなんとか。
キャッシュに入るコードが増えるから速くもなるらしい。
405デフォルトの名無しさん (ワッチョイ b500-vlGO)
2017/08/28(月) 22:33:21.77ID:Wq6HqE7w0 intel公式のドキュメントに書いてあるレベルだから
普通のコンパイラは当然そういうコードを吐くと思うよ
普通のコンパイラは当然そういうコードを吐くと思うよ
406デフォルトの名無しさん (ワッチョイ 4a19-vgeI)
2017/08/29(火) 00:27:36.33ID:AHYNkT+D0 OpenMPIを用いたプロセス並列コードのプロファイルを取りたいんですが、
gprofだとテンプレートがごちゃごちゃしててすごく見にくいです。
何か勧めなフリーのプロファイラはないでしょうか?
gprofだとテンプレートがごちゃごちゃしててすごく見にくいです。
何か勧めなフリーのプロファイラはないでしょうか?
407デフォルトの名無しさん (ワッチョイ 3e23-tLez)
2017/08/29(火) 01:49:03.35ID:skpcufF70 座標を動的配列で格納していき、
(50,50),(100,100) //直線1の座標
(30,30),(70,70) //直線2の座標
↑こんな感じに直線の数だけ座標の組み合わせが増えます。
この上から2個の座標の組み合わせ、
つまり座標4点を使い交点を計算するプログラムを作ろうとしています。
計算式を作っていく際にfor文を使っているのですが
1つ目の座標の組み合わせと2つ目の座標の組み合わせを計算式内で使うので
二重ループがいいかと思い作ろうとしましたが動的配列での二重ループの作り方が分かりません。
助けて頂けないでしょうか…。
長々と申し訳ありません。
(50,50),(100,100) //直線1の座標
(30,30),(70,70) //直線2の座標
↑こんな感じに直線の数だけ座標の組み合わせが増えます。
この上から2個の座標の組み合わせ、
つまり座標4点を使い交点を計算するプログラムを作ろうとしています。
計算式を作っていく際にfor文を使っているのですが
1つ目の座標の組み合わせと2つ目の座標の組み合わせを計算式内で使うので
二重ループがいいかと思い作ろうとしましたが動的配列での二重ループの作り方が分かりません。
助けて頂けないでしょうか…。
長々と申し訳ありません。
408デフォルトの名無しさん (ワッチョイ ca4c-oKtA)
2017/08/29(火) 02:17:37.67ID:On05DpTS0 >>396
void* p = &p;
↑こういうのは受け入れないといけない一方で >382 を NG とするための境目を
ちゃんと定めてコンパイラ実装するのはめんどくさそうだなと思う。
頻繁に踏む問題でも無くてコンパイラ実装者がそこに注力する動機も薄そうだし。
void* p = &p;
↑こういうのは受け入れないといけない一方で >382 を NG とするための境目を
ちゃんと定めてコンパイラ実装するのはめんどくさそうだなと思う。
頻繁に踏む問題でも無くてコンパイラ実装者がそこに注力する動機も薄そうだし。
409デフォルトの名無しさん (ワッチョイ c6ba-E8CI)
2017/08/29(火) 02:27:26.09ID:KA5Uf3Ix0410デフォルトの名無しさん (ワッチョイ feea-w74m)
2017/08/29(火) 02:33:36.21ID:vHDkbJz50411デフォルトの名無しさん (ワッチョイ cac5-5mwo)
2017/08/29(火) 22:17:26.88ID:R/tQJHqT0 Iteratorで2重ループするやり方がわからな
いとか?
いとか?
412デフォルトの名無しさん (ワッチョイ 3e23-tLez)
2017/08/30(水) 00:38:16.23ID:95r+Hm0D0 はい
iteratorでの二重ループが分かりません。
x1={1,2,3}
x2={4,5,6}
1*4 , 1*5 , 1*6
2*4 , 2*5 , 2*6
3*4 , 3*5 , 3*6
といったような計算が出来るプログラムを動的配列でつくりたいです。
iteratorでの二重ループが分かりません。
x1={1,2,3}
x2={4,5,6}
1*4 , 1*5 , 1*6
2*4 , 2*5 , 2*6
3*4 , 3*5 , 3*6
といったような計算が出来るプログラムを動的配列でつくりたいです。
413片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdea-sbdr)
2017/08/30(水) 01:26:58.11ID:KDhhphrhd it->begin(), it->end()
414デフォルトの名無しさん (ワッチョイ ca9f-tmrH)
2017/08/30(水) 01:55:32.89ID:0ZIBVCLk0 基礎の基礎が判ってないってパターンか
415デフォルトの名無しさん (ワッチョイ cd9f-GSIY)
2017/08/30(水) 02:05:27.07ID:J1aJRQDA0416デフォルトの名無しさん (ワッチョイ 4acd-Xu5m)
2017/08/30(水) 05:26:39.94ID:27CMeyKU0417デフォルトの名無しさん (ワッチョイ 2a89-GW8T)
2017/08/30(水) 06:45:43.57ID:3iEZIBUv0 >>413
itがイテレータならおかしいな
itがイテレータならおかしいな
418デフォルトの名無しさん (ワッチョイ ca9f-tmrH)
2017/08/30(水) 07:05:47.51ID:0ZIBVCLk0 いてれたのいてれた
419デフォルトの名無しさん (ワッチョイ 3e23-tLez)
2017/08/30(水) 08:57:17.67ID:95r+Hm0D0420デフォルトの名無しさん (アウアウカー Sa85-GW8T)
2017/08/30(水) 09:07:19.16ID:Nr6Jv4Sva >>419
つまり分からないのはイテレータのループそのもので、二重ループは関係ないということかな?
つまり分からないのはイテレータのループそのもので、二重ループは関係ないということかな?
421デフォルトの名無しさん (ワッチョイ 4af0-vgeI)
2017/08/30(水) 09:12:14.51ID:y1raZQAZ0 perlのfor my $elem (@array){をやるのに何年懸ったんだろうといつも思う
422デフォルトの名無しさん (ワッチョイ 3e23-tLez)
2017/08/30(水) 09:13:52.07ID:95r+Hm0D0423デフォルトの名無しさん (ワッチョイ ad09-tVhQ)
2017/08/30(水) 10:44:38.77ID:VpX1ZCKl0 イテレータは繰り返しを前提としているので基本的に進むと戻るの操作しか提供しない。ランダムアクセスっていうのもなくはないけどね。
it++で前進、it--で後退。操作して、Container.begin()と同じ値なら先頭を、Continer.end()と同じ値になったらそのコンテナの末端を指している。
基本的にはポインタを抽象化したものだからポインタの操作を思い出すと少しわかりが早い。
it++で前進、it--で後退。操作して、Container.begin()と同じ値なら先頭を、Continer.end()と同じ値になったらそのコンテナの末端を指している。
基本的にはポインタを抽象化したものだからポインタの操作を思い出すと少しわかりが早い。
424デフォルトの名無しさん (ワッチョイ 29e4-xRau)
2017/08/30(水) 12:11:28.40ID:NGfIYJwv0425デフォルトの名無しさん (ワッチョイ feea-w74m)
2017/08/30(水) 12:24:58.79ID:PTG1CRxV0 ポインタではループ書けませんって
なんかつき合う気失せるぐらい初心者やね
いやアンタが悪い訳じゃないんやが
なんかつき合う気失せるぐらい初心者やね
いやアンタが悪い訳じゃないんやが
426デフォルトの名無しさん (ワッチョイ c61c-9BKz)
2017/08/30(水) 12:35:06.14ID:BJd10UjW0 >>419
それ、end()が何を返しているかとか、
連続領域でないのにポインタを返しているとか
そういう系の問題じゃね?
あと「イテレータのループ」というのが
range-based-forだったりすると
x[i+1]はそもそも無理だぞ
それ、end()が何を返しているかとか、
連続領域でないのにポインタを返しているとか
そういう系の問題じゃね?
あと「イテレータのループ」というのが
range-based-forだったりすると
x[i+1]はそもそも無理だぞ
427デフォルトの名無しさん (ワッチョイ 3e23-tLez)
2017/08/30(水) 13:45:30.49ID:95r+Hm0D0 みなさんありがとうございます!
もっと勉強して出直してきます
もっと勉強して出直してきます
428デフォルトの名無しさん (ワッチョイ 0946-R9zi)
2017/08/30(水) 20:58:46.39ID:UeWdSpDY0 Cとjavaの基礎やったから基本の文法とオブジェクト指向の触りみたいな部分だけわかるんだけどこの状態でテンプレートとかの勉強初めていいの?
あそこらへん急に難しくなるイメージあるけど他に先にやるべきこととかあります?
あとそういう人におぬぬめの本とかもしあったら教えてくだされ
あそこらへん急に難しくなるイメージあるけど他に先にやるべきこととかあります?
あとそういう人におぬぬめの本とかもしあったら教えてくだされ
429デフォルトの名無しさん (ワッチョイ 2aef-M52T)
2017/08/30(水) 21:26:25.83ID:it2NMgLA0430デフォルトの名無しさん (オッペケ Sr6d-9IFt)
2017/08/30(水) 22:54:34.30ID:T8zS0A0mr >x[i + 1] == *(x + i + 1)
はて、いったい何の言語の話だろうか
はて、いったい何の言語の話だろうか
431デフォルトの名無しさん (ワッチョイ ad7f-vgeI)
2017/08/30(水) 23:02:57.29ID:lE/piHRT0 突っ込みたいことがあるならはっきり指摘すれば?
432デフォルトの名無しさん (ワッチョイ c300-sFCB)
2017/08/31(木) 02:07:06.34ID:Ce9FMcgb0433デフォルトの名無しさん (ワッチョイ c300-sFCB)
2017/08/31(木) 02:08:47.68ID:Ce9FMcgb0434デフォルトの名無しさん (ワッチョイ 6fea-G83I)
2017/08/31(木) 02:11:16.28ID:JJLmvwvW0435デフォルトの名無しさん (ワッチョイ ff9f-QSye)
2017/08/31(木) 02:40:29.14ID:ZosLKwRR0 なぜにイテレータでやろうとするのか
valarray使えばこんなの即効だろ
valarray使えばこんなの即効だろ
436デフォルトの名無しさん (ワッチョイ 6f65-b8Mh)
2017/08/31(木) 05:33:17.64ID:5oi4R35S0 あのー、このスレに限らずどこもなんだけどさ、
初心者をケナスくせは、やめた方が良いよ。
ちょっと知ってる者の傾向だね。
ちょっと自分が物事を知ってるから、
「自分らが、上だ。と、知らない者をけなす癖」が多大に有るよね。
本当に知ってる者は、初心者にもやさしく教えてあげるよ。
初心者をケナスくせは、やめた方が良いよ。
ちょっと知ってる者の傾向だね。
ちょっと自分が物事を知ってるから、
「自分らが、上だ。と、知らない者をけなす癖」が多大に有るよね。
本当に知ってる者は、初心者にもやさしく教えてあげるよ。
437デフォルトの名無しさん (オッペケ Src7-mvsT)
2017/08/31(木) 05:41:23.80ID:xNENwSVur438デフォルトの名無しさん (ドコグロ MM47-2CmY)
2017/08/31(木) 06:49:36.91ID:L0jWKquXM 知らない者を貶す気はないけど知ったかの頓珍漢な指摘は全力でバカにする
439デフォルトの名無しさん (ワッチョイ 33e4-p7en)
2017/08/31(木) 06:52:13.92ID:8V5/tdJ10 また規格に自信ある奴が日本語読めてないな
日本語の文脈を理解できるようになってから発言してくれ
日本語の文脈を理解できるようになってから発言してくれ
440デフォルトの名無しさん (ワッチョイ c300-sFCB)
2017/08/31(木) 07:01:04.95ID:Ce9FMcgb0441デフォルトの名無しさん (ワッチョイ cfd7-j2rg)
2017/08/31(木) 09:29:52.97ID:F7+XKf5b0 はっきり指摘できないのなら謙虚に発言した方がいい
442デフォルトの名無しさん (スッップ Sd1f-gM2o)
2017/08/31(木) 10:24:10.68ID:DHTk7O50d 全くその通りだよね
ポインタ滅ぶべしとか思ってるのかも知れないけど、初心者はまずイテレータを理解してその後
ポインタを学べば良いなんてプロセスは効果的とは限らないし、個人的には無理があると思う。
ポインタ滅ぶべしとか思ってるのかも知れないけど、初心者はまずイテレータを理解してその後
ポインタを学べば良いなんてプロセスは効果的とは限らないし、個人的には無理があると思う。
443デフォルトの名無しさん (ワッチョイ 33e4-p7en)
2017/08/31(木) 10:46:40.85ID:8V5/tdJ10 C++使ってて初心者は隠蔽された中身を理解しなくていいとか本気で思ってる奴いるのかよ
それにイテレータはポインタのような操作ができるインターフェイスなのでポインタを理解してることは前提となっている
それにイテレータはポインタのような操作ができるインターフェイスなのでポインタを理解してることは前提となっている
444デフォルトの名無しさん (ドコグロ MM1f-CPXF)
2017/08/31(木) 12:26:30.87ID:+APqOuiHM 逆だよ。初心者は隠蔽された中身を理解しなくていい範囲と使うべき。
初心者に教えるときも注意しなきゃいかん。
初心者に教えるときも注意しなきゃいかん。
445デフォルトの名無しさん (スップ Sd1f-sFCB)
2017/08/31(木) 12:41:58.03ID:aPsP1NJ+d >>443
イテレターを使う上で、ポインタを知らないと何が問題?
イテレターを使う上で、ポインタを知らないと何が問題?
446デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
2017/08/31(木) 12:45:17.10ID:JYM1pg890 「あたかもポインタのように振る舞うオブジェクト」を使うにあたって
そもそもポインタを知らないことの何が問題か本気でわからないのか?
そもそもポインタを知らないことの何が問題か本気でわからないのか?
447デフォルトの名無しさん (ドコグロ MM1f-CPXF)
2017/08/31(木) 14:20:58.17ID:+APqOuiHM イテレーターのコンセプト、理解してる?
ポインタのように振る舞う、じゃないよ。
ポインタのように振る舞う、じゃないよ。
448デフォルトの名無しさん (ワッチョイ 6309-8f0a)
2017/08/31(木) 14:38:31.89ID:BoCBvGLq0 イテレーションすることを目的にしてるけど、
ポインタもイテレータの機能を持ってるからポインタを想像するとわかりやすいっていうのはある。
ポインタもイテレータの機能を持ってるからポインタを想像するとわかりやすいっていうのはある。
449デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
2017/08/31(木) 15:09:44.78ID:JYM1pg890 >>447
どっかから引用したわけじゃないんで
そういうフレーズにはなってないだろうなあ
ポインタの使い方に、イテレータの使い方を似せてあるのは
誰の目にも明らかなんだが、おまえだけ違うのか?
重箱の隅でない説明がもしできるなら拝聴したいぜ
どっかから引用したわけじゃないんで
そういうフレーズにはなってないだろうなあ
ポインタの使い方に、イテレータの使い方を似せてあるのは
誰の目にも明らかなんだが、おまえだけ違うのか?
重箱の隅でない説明がもしできるなら拝聴したいぜ
450デフォルトの名無しさん (ワッチョイ 33e4-p7en)
2017/08/31(木) 15:25:08.02ID:8V5/tdJ10 ポインタに似せるというコンセプトではないので、ポインタと同じ構文で操作できてもポインタとは何の関係もありませ〜んwwww
そんな話してねえだろコミュ障か?
そんな話してねえだろコミュ障か?
451デフォルトの名無しさん (ワントンキン MM9f-KFeJ)
2017/08/31(木) 16:21:10.10ID:N6KLaE+9M イテレータの使い方がポインタの使い方に似せてある…?
もしかして、イテレータの意味わかってないんじゃないか??
もしかして、イテレータの意味わかってないんじゃないか??
452デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
2017/08/31(木) 16:22:24.21ID:JYM1pg890 あ、ふじこったw
そのザマ見て気が済んだ
そのザマ見て気が済んだ
453デフォルトの名無しさん (ワッチョイ 33e4-p7en)
2017/08/31(木) 16:48:47.10ID:8V5/tdJ10 >>451
はいはい
イテレータはポインタの操作方法と互換性がある
ただし静的配列やvectorで使われているランダムアクセスイテレータはすべての操作をサポートしているが、それ以外ではサポートしていない操作もあるので注意
とまで補足を入れたらいいんだろ
配列の話をしていたはずなのにアスペはすぐ話の腰折るから困る
はいはい
イテレータはポインタの操作方法と互換性がある
ただし静的配列やvectorで使われているランダムアクセスイテレータはすべての操作をサポートしているが、それ以外ではサポートしていない操作もあるので注意
とまで補足を入れたらいいんだろ
配列の話をしていたはずなのにアスペはすぐ話の腰折るから困る
454デフォルトの名無しさん (スッップ Sd1f-gM2o)
2017/08/31(木) 16:53:43.88ID:DHTk7O50d むしろ初心者ほど中身を知りたがるもの。
イテレータなんて実装が隠蔽されてるわけじゃなし、知った上で抽象化したらこうなるってのが妥当な方向だ。
コンパイラがやる最適化等とは別の話だ。
イテレータなんて実装が隠蔽されてるわけじゃなし、知った上で抽象化したらこうなるってのが妥当な方向だ。
コンパイラがやる最適化等とは別の話だ。
■ このスレッドは過去ログ倉庫に格納されています
