C++相談室 part131 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/07/29(土) 11:28:28.97ID:o30VDF4g0
次スレを立てる時は本文の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
2017/08/27(日) 16:21:07.86ID:hmah67i90
>>355
logical const であれば性質として充分だよ。
だけど、それをコンパイラがチェックすることは出来ないから、
原則としては bitwise const を要求して、
それがちゃんとできてなけりゃエラーも出す。

だけど、 bitwise でなくても logical に出来る場面では
プログラマの責任でやるよっていうのを mutable キーワードで表すってわけ。
2017/08/27(日) 16:23:29.96ID:Pcpci17F0
ルールを増やせば増やすほど使ってもらえない。
358デフォルトの名無しさん (ワッチョイ 29e4-xRau)
垢版 |
2017/08/27(日) 16:50:02.45ID:99717IEt0
しかし現実には使われているもよう
2017/08/27(日) 16:52:16.64ID:OhTIHz5/0
おい、mutableなんてキーワード初めて知ったぞw
ググってみたらC++11から導入されてたんだな知らんかった、、、
2017/08/27(日) 16:55:16.46ID:7+G8dT33M
またまたご冗談を
2017/08/27(日) 17:26:13.10ID:hmah67i90
>>359
ANSI で規格化された最初から有ったがな (´・ω・`)
362デフォルトの名無しさん (ワッチョイ c6ba-E8CI)
垢版 |
2017/08/27(日) 19:19:01.73ID:+rBIMmXP0
>>359
いやいやおいおい…
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;
確かに疑問だ
2017/08/27(日) 23:06:36.65ID:Pcpci17F0
どんどんキーワードが増えるのは思いつきで仕様を決めてるからだ。
無能SEの下のプロジェクトではよくあること。
50年は仕様を追加しないつもりで仕様を決めてほしい。
2017/08/27(日) 23:35:20.73ID:hmah67i90
コンピュータを取り巻く事情は予想の斜め上をいく形でどんどん変わるのに言語だけのんびりしとれるかいな
2017/08/28(月) 00:12:36.48ID:OtmMiMVk0
永久に仕様が追加されない言語なんてたくさんあるから好きなのを使いなよ
機能が必要になった背景やそれを追加することが適当だという根拠まで知ってろとは言わないからさ
2017/08/28(月) 00:24:42.42ID:JtlNpsV60
雑魚に上から言われる筋合いはない。そんな態度だから囲まれて職質されるんだよ。
2017/08/28(月) 00:26:53.59ID:GiFa6ZsP0
つ、追加しなくても1.5年待てば倍速くなるもん…!

ていうかメモリバリア周りの扱いが未だに規格化されていないのは言語としてはお寒い状況だといわざるおえない
ゆくゆくはOpenMPIを正式に取り込んでキャッシュスヌープ無しのメニーコア環境でも
最高のパフォーマンスを発揮できるだけの選択肢をプログラマに提示し、
さらにはGPGPU対応もしてホスイ、
2017/08/28(月) 00:29:36.83ID:GiFa6ZsP0
スマンOpenMPIはOpenMPのつもりで言った!
370デフォルトの名無しさん (ワッチョイ 41e1-xc3z)
垢版 |
2017/08/28(月) 01:19:26.30ID:83bJD8zl0
openmpみたいなマクロまみれよりtbbのほうが好き
2017/08/28(月) 01:23:37.61ID:JtlNpsV60
そんなに新機能を追加したいなら、新しく別言語を創れ。JavaやC#みたに成功して普及した事例はいくらでもある。
一度普及した言語に、碌に実務でコードも書いたことないような輩が後からやってきてデタラメな糞仕様を追加するんじゃない。
2017/08/28(月) 01:31:42.56ID:OtmMiMVk0
後から来た輩(ビャーネ・ストラウストラップ)
2017/08/28(月) 01:37:29.69ID:JtlNpsV60
CとC++が同じ言語と思ってるとは、さすが見込みどおりの雑魚。
2017/08/28(月) 02:11:44.25ID:nC18rNgy0
実務でコード書く人=Windowフォームにボタンを乗せる仕事の人
2017/08/28(月) 03:06:17.85ID:yPLR2tUq0
ライブラリの蓄積もあるからさ。 負債の蓄積とのバランスだよねー。
ときどき Go とか Rust とかみたいなのが出てきて一新してくれりゃいいんだけど、
C++ はともかく C はいつまでも死なない気がする。
2017/08/28(月) 07:31:44.71ID:GiFa6ZsP0
別に新機能のほしいものリストを無秩序に書き連ねたわけではないもん;;
C++はSimulaの代替品として登場した時点から実行時パフォーマンスの追求を意識していたし、
理解しやすさなら他の言語を選択すればよい昨今においては
特に実行時パフォーマンスの追求こそがC++の存在意義として強調されるべき
テンプレートによるメタプログラミングに最高の効率を阻害する穴があれば塞がれねばならないし、
最適化がほっといたら中途半端にとどまるケースには尻を叩くキーワードが追加されねばならないし、
そのときどきのアーキテクチャーの詳細に立ち入ってでもあらゆる実行時パフォーマンス追求手段が
プログラマに提示されねばならない
インテリセンスがまともに働かないとかテンプレートの分割コンパイルがもはや完成しないバベルの塔だとか
言語規格が変わり続けて解説書が分厚くなる一方だといった側面の不調法はそうであってこそ許容される、
2017/08/28(月) 07:36:18.26ID:GiFa6ZsP0
機械の方が人間より賢くプログラムするようになってアセンブラが滅びたら
Cも滅びる気がする
2017/08/28(月) 07:36:46.75ID:96+DvSIX0
ウニファイドコールシンタックスを直ちに入れるのです。
コードサジェストが爆発してもいいじゃない。
2017/08/28(月) 07:43:38.48ID:96+DvSIX0
>>377
機会が賢くなったら、あらゆる言語をCに一回トランスコ―ドするようになる気がする。
そこでパフォーマンスチューニングしてコンパイル。
人間だとコストかかってできない方法。
2017/08/28(月) 07:58:00.50ID:GiFa6ZsP0
中間言語とか3番地コードと条件判断とgotoで必要にしてほぼ十分なのでは…
2017/08/28(月) 08:00:37.13ID:96+DvSIX0
>>380
あーそんなもんか。
それじゃ、アセンブリにした方が早いね。
もしくはあらゆる言語がLLVMを介してコンパイルされるとかね。
LLVMのストラクチャも自動生成とか。
あー怖い。
382デフォルトの名無しさん (ブーイモ MMb9-E8CI)
垢版 |
2017/08/28(月) 12:49:34.85ID:0HhHgrwNM
ちょっとしたコーディングミスで、以下の簡易コードように書いてしまって、ハマったのですが、コンパイルエラーにならなかった事に驚きました。

string a(何らかの文字列);
string s = s.replace(置換指示); //a.replace() と書こうとした。

コピーコンストラクトの右辺に、構築中(?)の自分自身を使ってしまったと言う事なのですが、これは規格上合法なのでしょうか?
383デフォルトの名無しさん (ブーイモ MMb9-E8CI)
垢版 |
2017/08/28(月) 12:59:59.78ID:0HhHgrwNM
↑のサンプル貼っておきます。
https://ideone.com/X4ILlf
2017/08/28(月) 13:04:19.26ID:96+DvSIX0
x^=x でゼロになるんだっけ。
一応昔からある文法だけど。
2017/08/28(月) 16:57:17.16ID:KK7lC/68d
>>384
それの使い道がよくわからん

コンパイラと環境によっては x=0 より速かったりとか?
即値は全て名前を付けなきゃいけないとかいう糞コーディングルールの回避とか?
volatileをつけて、
ダミーリードと0クリアを1文で書けるとか?

思い付くのはこのくらい
2017/08/28(月) 17:22:45.55ID:3VrqihWx0
コンストラクタが実行される前なのでオブジェクトの内容は不定だろうし
不定なオブジェクトにも適切にアクセスする場合なら合法かもしれない
ただ不定な変数を使って何かしようとすると途端に undefined behavior 地雷を
踏むことが多いのでそこで頑張っても実りがあるとも思えないけど
387デフォルトの名無しさん (ワッチョイ c61c-9BKz)
垢版 |
2017/08/28(月) 17:43:39.28ID:+dyqlMtL0
>>385
アセンブラでよく使う xor eax,eax を逆コンパイルするとアレになる
2017/08/28(月) 17:52:50.38ID:eeKFZJ460
のっぷぁ
2017/08/28(月) 17:54:52.47ID:eeKFZJ460
or eax,eax だろバカチン
2017/08/28(月) 18:02:16.04ID:HJX32+mcd
xor eax,eaxがゼロクリアで、
or eax,eaxが何もしない。
2017/08/28(月) 18:08:57.91ID:Wq6HqE7w0
さすがにPC系コンパイラで
0クリアを最適化しないのは無いかと

xor eax, eax は0イディオムとか言って、
普通のxorとは微妙に扱いが異なる

昔は sub ax, axより xor ax, axの方が微妙に速かったりした
今はフラグ以外は同じ

>>390
何もしないわけじやない
ちゃんとフラグが変わる
2017/08/28(月) 18:38:50.00ID:7lbHEj3b0
ttp://www.st.rim.or.jp/~nkomatsu/premicro/corezoom2.JPG
昔とはこういうスゴイ編み物の時代ですかね
2017/08/28(月) 19:05:01.12ID:Wq6HqE7w0
だね
2017/08/28(月) 19:10:04.94ID:HJX32+mcd
編み物だって意味のあるつまらないことの積み重ねで実現されている。
プログラミングだって多分同じ。
2017/08/28(月) 19:36:30.92ID:KK7lC/68d
コルモゴロフの最小プログラムに対しても同じ事が言える?
396デフォルトの名無しさん (ブーイモ MMb9-E8CI)
垢版 |
2017/08/28(月) 19:37:58.17ID:y0vE8H3MM
>>382
質問を変えると、
何でコンパイルエラーにしてくれないんだろう?
ってところが気になっています。
2017/08/28(月) 19:41:20.09ID:MWmJNebXr
>>382
3.3.2/1には反しないが3.8/6的にはだめだろう(たぶん)
未定義動作なのでコンパイルエラーになることは要求されていない
2017/08/28(月) 19:41:46.31ID:KK7lC/68d
別のsが定義されてるとか
2017/08/28(月) 19:58:41.88ID:rn9GWLpv0
>>391
それは x86/インテル方言なだけでは?
普通のアーキテクチャならばロードだけでフラグが変わるもんですキッパリ
2017/08/28(月) 20:21:02.23ID:KK7lC/68d
x86の話をしてるわけだけど
2017/08/28(月) 20:22:04.01ID:KK7lC/68d
eaxなんてレジスタ、他にあるか?
2017/08/28(月) 20:48:55.97ID:GiFa6ZsP0
inline void zero_clear(int& x) { x ^= x; }
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がゼロクリアされるから同じ動きになるとかなんとか。
キャッシュに入るコードが増えるから速くもなるらしい。
2017/08/28(月) 22:33:21.77ID:Wq6HqE7w0
intel公式のドキュメントに書いてあるレベルだから
普通のコンパイラは当然そういうコードを吐くと思うよ
2017/08/29(火) 00:27:36.33ID:AHYNkT+D0
OpenMPIを用いたプロセス並列コードのプロファイルを取りたいんですが、
gprofだとテンプレートがごちゃごちゃしててすごく見にくいです。
何か勧めなフリーのプロファイラはないでしょうか?
2017/08/29(火) 01:49:03.35ID:skpcufF70
座標を動的配列で格納していき、
(50,50),(100,100) //直線1の座標
(30,30),(70,70)  //直線2の座標
↑こんな感じに直線の数だけ座標の組み合わせが増えます。

この上から2個の座標の組み合わせ、
つまり座標4点を使い交点を計算するプログラムを作ろうとしています。

計算式を作っていく際にfor文を使っているのですが
1つ目の座標の組み合わせと2つ目の座標の組み合わせを計算式内で使うので
二重ループがいいかと思い作ろうとしましたが動的配列での二重ループの作り方が分かりません。

助けて頂けないでしょうか…。
長々と申し訳ありません。
2017/08/29(火) 02:17:37.67ID:On05DpTS0
>>396
void* p = &p;
↑こういうのは受け入れないといけない一方で >382 を NG とするための境目を
ちゃんと定めてコンパイラ実装するのはめんどくさそうだなと思う。
頻繁に踏む問題でも無くてコンパイラ実装者がそこに注力する動機も薄そうだし。
409デフォルトの名無しさん (ワッチョイ c6ba-E8CI)
垢版 |
2017/08/29(火) 02:27:26.09ID:KA5Uf3Ix0
>>397
む、なるほど…
確かに未定義であれば、コンパイルエラーにしなくとも文句は言えませんね。

>>408
!!!なるほど!!!
実用性はさておき、その例文で納得してしまった。
2017/08/29(火) 02:33:36.21ID:vHDkbJz50
>>407
動的配列だと何が問題あるの?
何につまずいているのかよくわからんなあ
例えばキューで実装するとか
直線をひとつづつプッシュ、
描画タイミングで直線を必要数ポップし交点を描画
2017/08/29(火) 22:17:26.88ID:R/tQJHqT0
Iteratorで2重ループするやり方がわからな
いとか?
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
といったような計算が出来るプログラムを動的配列でつくりたいです。
2017/08/30(水) 01:26:58.11ID:KDhhphrhd
it->begin(), it->end()
2017/08/30(水) 01:55:32.89ID:0ZIBVCLk0
基礎の基礎が判ってないってパターンか
2017/08/30(水) 02:05:27.07ID:J1aJRQDA0
>>412
まず通常のループは書けるの?
たとえばx2は4固定でいいのでループを記述してみたら?
2017/08/30(水) 05:26:39.94ID:27CMeyKU0
>>412
https://ideone.com/CfQxRE
2017/08/30(水) 06:45:43.57ID:3iEZIBUv0
>>413
itがイテレータならおかしいな
2017/08/30(水) 07:05:47.51ID:0ZIBVCLk0
いてれたのいてれた
2017/08/30(水) 08:57:17.67ID:95r+Hm0D0
>>415
通常のループも、二重ループもあらかじめ用意した配列でなら書けます

動的配列になるとiteratorの使い方が分からずプログラムが動かなくなってしまうのですが笑

>>416
ありがとうございます使ってみます!
2017/08/30(水) 09:07:19.16ID:Nr6Jv4Sva
>>419
つまり分からないのはイテレータのループそのもので、二重ループは関係ないということかな?
2017/08/30(水) 09:12:14.51ID:y1raZQAZ0
perlのfor my $elem (@array){をやるのに何年懸ったんだろうといつも思う
2017/08/30(水) 09:13:52.07ID:95r+Hm0D0
>>420
そんなかんじですね
たとえば、x[i+1]をiteratorのループではどう表現するのかとかそういうのが分からないとかです
2017/08/30(水) 10:44:38.77ID:VpX1ZCKl0
イテレータは繰り返しを前提としているので基本的に進むと戻るの操作しか提供しない。ランダムアクセスっていうのもなくはないけどね。
it++で前進、it--で後退。操作して、Container.begin()と同じ値なら先頭を、Continer.end()と同じ値になったらそのコンテナの末端を指している。
基本的にはポインタを抽象化したものだからポインタの操作を思い出すと少しわかりが早い。
424デフォルトの名無しさん (ワッチョイ 29e4-xRau)
垢版 |
2017/08/30(水) 12:11:28.40ID:NGfIYJwv0
>>422
君には早いのでまずはポインタでぐぐってくれ
x[i + 1] == *(x + i + 1)
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]はそもそも無理だぞ
2017/08/30(水) 13:45:30.49ID:95r+Hm0D0
みなさんありがとうございます!
もっと勉強して出直してきます
2017/08/30(水) 20:58:46.39ID:UeWdSpDY0
Cとjavaの基礎やったから基本の文法とオブジェクト指向の触りみたいな部分だけわかるんだけどこの状態でテンプレートとかの勉強初めていいの?
あそこらへん急に難しくなるイメージあるけど他に先にやるべきこととかあります?
あとそういう人におぬぬめの本とかもしあったら教えてくだされ
2017/08/30(水) 21:26:25.83ID:it2NMgLA0
>>428
まずテンプレートライブラリの使用方法を重点的に
自分でテンプレートを書くのは後回しにしたほうがよい
2017/08/30(水) 22:54:34.30ID:T8zS0A0mr
>x[i + 1] == *(x + i + 1)
はて、いったい何の言語の話だろうか
2017/08/30(水) 23:02:57.29ID:lE/piHRT0
突っ込みたいことがあるならはっきり指摘すれば?
2017/08/31(木) 02:07:06.34ID:Ce9FMcgb0
>>424
ポインタを意識させないのがイテレターだろうに

>>430
左辺と右辺が同じだって事が言いたいんだろうけど...
上に書いた理由でトンチンカンと言わざるを得ない
2017/08/31(木) 02:08:47.68ID:Ce9FMcgb0
>>422
it_next = it;
it_next ++;
とか
2017/08/31(木) 02:11:16.28ID:JJLmvwvW0
>>432
意味がわからない
もう少しわかりやすく頼む
出来ないならもう発言しなくて良いから
2017/08/31(木) 02:40:29.14ID:ZosLKwRR0
なぜにイテレータでやろうとするのか
valarray使えばこんなの即効だろ
2017/08/31(木) 05:33:17.64ID:5oi4R35S0
あのー、このスレに限らずどこもなんだけどさ、
初心者をケナスくせは、やめた方が良いよ。
ちょっと知ってる者の傾向だね。
ちょっと自分が物事を知ってるから、
「自分らが、上だ。と、知らない者をけなす癖」が多大に有るよね。
本当に知ってる者は、初心者にもやさしく教えてあげるよ。
2017/08/31(木) 05:41:23.80ID:xNENwSVur
>>432
>左辺と右辺が同じ
少なくともここはC++のスレで、C++では同じでないのだが何を言ってるんだお前は
2017/08/31(木) 06:49:36.91ID:L0jWKquXM
知らない者を貶す気はないけど知ったかの頓珍漢な指摘は全力でバカにする
2017/08/31(木) 06:52:13.92ID:8V5/tdJ10
また規格に自信ある奴が日本語読めてないな
日本語の文脈を理解できるようになってから発言してくれ
2017/08/31(木) 07:01:04.95ID:Ce9FMcgb0
>>437
C++でいつでも同じかなんてことはどうでも良い
レス自体トンチンカンなんだから
2017/08/31(木) 09:29:52.97ID:F7+XKf5b0
はっきり指摘できないのなら謙虚に発言した方がいい
2017/08/31(木) 10:24:10.68ID:DHTk7O50d
全くその通りだよね
ポインタ滅ぶべしとか思ってるのかも知れないけど、初心者はまずイテレータを理解してその後
ポインタを学べば良いなんてプロセスは効果的とは限らないし、個人的には無理があると思う。
2017/08/31(木) 10:46:40.85ID:8V5/tdJ10
C++使ってて初心者は隠蔽された中身を理解しなくていいとか本気で思ってる奴いるのかよ
それにイテレータはポインタのような操作ができるインターフェイスなのでポインタを理解してることは前提となっている
2017/08/31(木) 12:26:30.87ID:+APqOuiHM
逆だよ。初心者は隠蔽された中身を理解しなくていい範囲と使うべき。
初心者に教えるときも注意しなきゃいかん。
2017/08/31(木) 12:41:58.03ID:aPsP1NJ+d
>>443
イテレターを使う上で、ポインタを知らないと何が問題?
446デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/08/31(木) 12:45:17.10ID:JYM1pg890
「あたかもポインタのように振る舞うオブジェクト」を使うにあたって
そもそもポインタを知らないことの何が問題か本気でわからないのか?
2017/08/31(木) 14:20:58.17ID:+APqOuiHM
イテレーターのコンセプト、理解してる?
ポインタのように振る舞う、じゃないよ。
2017/08/31(木) 14:38:31.89ID:BoCBvGLq0
イテレーションすることを目的にしてるけど、
ポインタもイテレータの機能を持ってるからポインタを想像するとわかりやすいっていうのはある。
449デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/08/31(木) 15:09:44.78ID:JYM1pg890
>>447
どっかから引用したわけじゃないんで
そういうフレーズにはなってないだろうなあ

ポインタの使い方に、イテレータの使い方を似せてあるのは
誰の目にも明らかなんだが、おまえだけ違うのか?
重箱の隅でない説明がもしできるなら拝聴したいぜ
2017/08/31(木) 15:25:08.02ID:8V5/tdJ10
ポインタに似せるというコンセプトではないので、ポインタと同じ構文で操作できてもポインタとは何の関係もありませ〜んwwww


そんな話してねえだろコミュ障か?
2017/08/31(木) 16:21:10.10ID:N6KLaE+9M
イテレータの使い方がポインタの使い方に似せてある…?
もしかして、イテレータの意味わかってないんじゃないか??
452デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/08/31(木) 16:22:24.21ID:JYM1pg890
あ、ふじこったw
そのザマ見て気が済んだ
2017/08/31(木) 16:48:47.10ID:8V5/tdJ10
>>451
はいはい
イテレータはポインタの操作方法と互換性がある
ただし静的配列やvectorで使われているランダムアクセスイテレータはすべての操作をサポートしているが、それ以外ではサポートしていない操作もあるので注意
とまで補足を入れたらいいんだろ

配列の話をしていたはずなのにアスペはすぐ話の腰折るから困る
2017/08/31(木) 16:53:43.88ID:DHTk7O50d
むしろ初心者ほど中身を知りたがるもの。
イテレータなんて実装が隠蔽されてるわけじゃなし、知った上で抽象化したらこうなるってのが妥当な方向だ。
コンパイラがやる最適化等とは別の話だ。
2017/08/31(木) 16:55:03.46ID:DHTk7O50d
だいたいポインタの理解なんて義務教育レベルだしな。
2017/08/31(木) 16:55:37.94ID:+APqOuiHM
>>450
初心者に教える、つう前提を無視するなよ。アホか?

なんで初心者にイテレーター教えるのにポインタが必要なんだよ。説明してみろ。
■ このスレッドは過去ログ倉庫に格納されています