ポインタはどうやって ..
[2ch|▼Menu]
535:デフォルトの名無しさん
07/11/29 20:56:17
まぁ C++ は歴史も引きずってて自由でやり放題だからな…
自分でさらっと書くのには Java とかより楽で好きだけど、
他人のコードには手を入れたくないな。

536:デフォルトの名無しさん
07/11/29 21:32:12
おまえのも他人からそう思われてるよ

自分のが一番綺麗だと思ってるうちはまだまだ未熟



537:デフォルトの名無しさん
07/11/29 22:04:30
そういうカオス領域の扱いに長けているのがC++だと思っている。

538:デフォルトの名無しさん
07/11/29 22:28:55
>>536
別にきれいだと思っているとは書いていないよ。勉強して努力はしているが。
できるだけ自分で責任を持って直したいと思ってる。

539:デフォルトの名無しさん
07/11/29 22:36:54
ポインタと関係ないですが

540:デフォルトの名無しさん
07/11/30 01:39:03
趣味でオナニープログラムして楽しむならC++だな。
仕事では、使いたくねぇ

541:デフォルトの名無しさん
07/11/30 02:52:10
>>539
ポインタを語るスレではないからな
そもそも学びたい奴がいないならこのスレいらんだろ
ポインタがわからんやつとかいないじゃん

542:デフォルトの名無しさん
07/11/30 13:07:43
ポインタをどうやって学ぼうかってスレなんだから
ポインタわかんない人も来るだろw

543:デフォルトの名無しさん
07/11/30 17:01:39
ポインタ勉強中でなんとなく面白くなってきた

関数は常に値渡し
参照渡しでも結局はアドレスと言う値を渡してるに過ぎない
って認識であってる?

544:デフォルトの名無しさん
07/11/30 17:06:45
うん

545:デフォルトの名無しさん
07/11/30 19:29:27
C言語は値渡ししかできない、でいいんですよね?

546:デフォルトの名無しさん
07/11/30 19:34:13
今更Cやポインタなんて勉強してるやつはバカだろw

言語なんて勉強する意味がない。
コーダーは中国から買ってくれば良い

547:デフォルトの名無しさん
07/11/30 19:38:14
そうして中国に追いつかれることに気付かない日本人。
私は自分のためにCやポインタを勉強する。

548:デフォルトの名無しさん
07/11/30 19:40:59
お前がバカなんだっつの

549:デフォルトの名無しさん
07/11/30 19:41:40
まともなコードが書けない奴が、まともな設計できるわけねえし

550:デフォルトの名無しさん
07/11/30 19:43:55
他にも勉強する事が多くてなぁ・・・
まともなコードが描ける頃には髪の毛白くなってそうだよ

551:デフォルトの名無しさん
07/11/30 19:47:09
コード書きは全てに優先するんだよ
無知か?おまえ

552:デフォルトの名無しさん
07/11/30 19:48:00
なかなか粗悪な暇の潰し方だな

553:デフォルトの名無しさん
07/11/30 20:02:31
職人みたいに低能頑固薄給視野0になりたければ
コード書けばいいと思うがなw

コーダーなんてインドから集めてくればいい

554:デフォルトの名無しさん
07/11/30 20:04:25
コーダ以外コード書く必要ないと思ってる化石か

555:デフォルトの名無しさん
07/11/30 20:05:04
マ板でどうぞ

556:デフォルトの名無しさん
07/11/30 21:20:07
GoogleやMSの社員もコード書いている件について

557:デフォルトの名無しさん
07/11/30 21:41:59
マネージャクラスでもな

558:デフォルトの名無しさん
07/11/30 21:43:34
それが普通

559:デフォルトの名無しさん
07/11/30 21:47:34
じゃあなんで日本のマネージャクラスはコード書かないのが多いの?
なんで日本の文化ではコード書きは底辺がすることって信じられてるの?

560:デフォルトの名無しさん
07/11/30 21:52:06
typedef void* NULL;

#define NULL 0

561:デフォルトの名無しさん
07/11/30 21:58:37
>>559
それが一番妥当かつ効率性が高いとう結果
なんだよ。結局コードなんて書いても成果を
出しましたって小細工しているにすぎないからな

562:デフォルトの名無しさん
07/11/30 22:01:24
日本語で

563:デフォルトの名無しさん
07/11/30 22:07:28
>>556-558
書くモノしか見てないけど Google とか技術部いい感じだよね。
Norvig さんとか。

564:デフォルトの名無しさん
07/11/30 22:23:07
いい感じじゃねーだろ

565:デフォルトの名無しさん
07/11/30 22:39:04
英語身に着けて外国でもなんでもいけばいい。
コードも書けない奴の言うことなんて誰もきかない。

566:デフォルトの名無しさん
07/11/30 22:49:30
視野が狭すぎてすげーなw

567:デフォルトの名無しさん
07/11/30 23:08:53
昔と比べてコードの抽象度が高いから、自然言語を使う必要性が減ったってことでしょ
コーダにコーディングをアウトソースするときに、インプットとして「コード」が必要になったってこと
昔と大して変わってない

568:デフォルトの名無しさん
07/11/30 23:25:48
今日帰りにインド人がやってるカレー屋に行ったんだけど、
カレー注文したらスプーンがついてこなくて
「あ、本格的な店なんだ」とか思って手で食ってたら、
半分くらい食ったときに、インド人の店員が奥から
すげー申し訳なさそうな顔してスプーン持ってきた

569:デフォルトの名無しさん
07/11/30 23:34:53
>>568
おもしろいコピペがあったら貼るスレinマ板part4
スレリンク(prog板)l50

570:デフォルトの名無しさん
07/12/04 15:03:58
>>128

571:デフォルトの名無しさん
07/12/04 17:44:08
>>128
が改悪したようにしか見えない件についてw

572:デフォルトの名無しさん
07/12/10 21:58:52
うおおぉぉ!
Javaばかりでプログラム組んでいてC++にに戻ってきたらメモリ管理だるすぎて泣きそうだw
Javaはメモリ管理が楽だからいいよな
よくC#、Javaはポインタがなくて良いとか言う奴いるけど、これらの言語の利点はメモリ管理の楽さだろと突っ込みたいぜw
それにC#、Javaはむしろポインタの固まりだしな

C++のメモリ管理の経験があると、ガーベジコレクション等に負担をかけず高速なプログラムを組めることが身に染みてわかったぜ、自動解放だからってテキトーに組むとメモリリークは発生しないにしろ遅いなw
結論、C++のようなメモリ周りがシビアな言語をやる価値は今でも十分すぎるほどあると

573:デフォルトの名無しさん
07/12/10 22:40:35
C++ならスマートポインタ使えばいいのに

574:デフォルトの名無しさん
07/12/10 22:52:08
違う違う。

C++ならスマートポインタ実装すればいいのに

575:デフォルトの名無しさん
07/12/11 07:28:30
俺は、自分でメモリ管理しないと、不安でしょうがない。
JavaやC#だと、本当にリークしてないのか不安になってたまらない

576:デフォルトの名無しさん
07/12/11 13:56:30
aho

577:デフォルトの名無しさん
07/12/11 15:47:48
GUIでガベコレの遅延がはっきり感じられるとつらいね
元々もっさりなのに時々かくかくではストレスもたまる

578:デフォルトの名無しさん
07/12/11 16:24:29
なんでそうなるコードを書くの?

579:デフォルトの名無しさん
07/12/11 17:21:57
リソース管理が自動化されてる言語しかやったことがない、とか

580:デフォルトの名無しさん
07/12/13 16:16:38
int array[10];
で&arrayってvoid*?

581:デフォルトの名無しさん
07/12/13 16:52:14
int**

582:デフォルトの名無しさん
07/12/13 17:04:52
自己レス
int (*)[10]か。

>>581
あれ?それでもいいの?
試してみます

583:デフォルトの名無しさん
07/12/13 17:13:53
配列のポインタと、ポインタのポインタを間違えるな

584:582
07/12/13 17:24:09
int**はダメだた・・・

585:デフォルトの名無しさん
07/12/13 17:32:46
>>572
俺にはC++のメモリ管理がだるいと感じるお前が理解できない

new したらdeleteすればいいだけじゃん

なにがだるいんだか・・・



586:デフォルトの名無しさん
07/12/13 17:36:05
それがだるい。

587:デフォルトの名無しさん
07/12/13 18:31:19
>>585
C++のメモリ管理ってスマポンタだろ

588:デフォルトの名無しさん
07/12/13 18:33:31
>>580
配列名だけで先頭要素のアドレスになる。
ただし、それは変数じゃないので&を付けても無駄。

int array[10];

printf("%p¥n", array);
printf("%p¥n", &array);

で試してごらん。


589:デフォルトの名無しさん
07/12/13 18:34:41
>>586
よきにはからえ、じゃないと駄目だよね。
ゆとりプログラミングの時代さ。

590:デフォルトの名無しさん
07/12/13 19:24:19
>>588
arrayは配列の先頭要素へのポインタ
&arrayは配列へのポインタ
だから値は同じだけど意味が違うんじゃないですか?

591:デフォルトの名無しさん
07/12/13 19:51:16
>>589
コンパイラ使うのも似たような言葉で馬鹿にされたものだけどね。

592:デフォルトの名無しさん
07/12/13 21:53:28
>>588
違う。
arrayはポインタでは「ない」。
ポインタは変数。配列名は定数。

593:デフォルトの名無しさん
07/12/13 21:57:39
単にarrayと書いたときに「どう解釈されるか?」の話じゃないの?

594:デフォルトの名無しさん
07/12/13 22:11:13
アレーイ?

595:デフォルトの名無しさん
07/12/13 23:43:50
アルェーイ?

596:デフォルトの名無しさん
07/12/14 10:44:32
配列とポインタは違うのに同じだ、
と言うニュアンスでK&Rで解説されたために、
その後のC言語の入門書で、
よく分ってないヤツがゴチャゴチャにして説明するようになって、
今に至る

597:デフォルトの名無しさん
07/12/14 11:49:52
基本的に違うけど引数としてはどっちでもとれるって状況
だと思うが引数として使うってのが
けっこうメジャーな使いかたなためごっちゃになってるって
状況だとおれは認識してる。

598:デフォルトの名無しさん
07/12/14 11:55:35
>>597
>基本的に違うけど引数としてはどっちでもとれるって状況
間違い。
引き数としては、常にポインタ。
# 但し、Cの場合。

599:デフォルトの名無しさん
07/12/14 12:36:31
学校で課題で「配列とポインタの違いを説明せよ」みたいなのあったなぁ・・・

600:デフォルトの名無しさん
07/12/14 16:41:13
>>585
自分がnewしてdeleteするなら別に面倒では無いだろうけど
リスト構造でなおかつ、その構造が要素追加にnew、削除にdeleteを使うようなプログラムはが何万行と続くとデバック作業がかなり面倒だろ?まあ、それはそれで利点もあるがな

それを面倒臭くないというお前はすごいな、それとも極小規模なプログラムしか組んだことないのかな?

601:デフォルトの名無しさん
07/12/14 17:58:01
>>599
配列は箱を列に並べたもの
ポインタは矢印
でいいかな?

602:デフォルトの名無しさん
07/12/14 18:43:34
>>601
大学のレポートって、お絵かきでOKなの?

603:デフォルトの名無しさん
07/12/14 18:59:17
>>598
そういうことじゃなくてポインタ変数でも配列変数でも
代入できるだろうって意味。

604:デフォルトの名無しさん
07/12/14 19:25:33
住所そのものと住所を書いた紙が別なのは当たり前だろが
住所そのものを変えるには市町村合併でもするほかないが紙に書かれた住所を書き換えるだけなら簡単

605:デフォルトの名無しさん
07/12/14 19:31:58
>>604
なんかオブジェクト指向の例え話なみに微妙な話だな

606:デフォルトの名無しさん
07/12/14 19:50:48
たとえ話に住所って言葉を使うのが間違ってそう

607:デフォルトの名無しさん
07/12/14 19:54:39
ポインタなんて
[C言語 ポインタ完全制覇]
読んで理解したなら
後は、実践を繰り返すだけだろーよ

608:デフォルトの名無しさん
07/12/14 19:56:31
どんなに微妙でも人間の脳構造はアナロジーの利くものの方が
覚えやすくできてんだからそれでいいじゃんよ。

609:デフォルトの名無しさん
07/12/14 20:05:30
C FAQの6.13
URLリンク(www.kouno.jp)
URLリンク(c-faq.com)

・・・本当に配列そのものへのポインターが必要な場合は「int (*ap)[N];」 のような表現を使う。
 ここでNは配列のサイズを表す(質問1.21も参照)。
 配列の大きさがわからない場合、Nを省略することができる。
 しかし 結果として得られる「大きさが未知の配列へのポインター」は役に立たない。

ってあるんですが、
int array[10];
int (*ap)[];
ap = &arrrayってエラーにならないんですか?

610:デフォルトの名無しさん
07/12/14 20:17:14
>>609
配列の不完全型ってヤツか?
良く分からんが、違う構造体同士で相互参照する時なんかに使う
構造体の不完全型の親戚みたいなもんかな

611:デフォルトの名無しさん
07/12/15 02:27:42
>>609
試せば良いじゃんよ

612:デフォルトの名無しさん
07/12/15 02:32:55
VC++ExpressEdition

d:\work\vc\array\arrayptr.cpp(9) : error C2440: '=' : 'int (*__w64 )[10]' から 'int (*)[]' に変換できません。
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。



613:デフォルトの名無しさん
07/12/15 04:19:56
Cより先にアセンブラやれ!!
アドレスの概念を理解しないでいきなりやるから
難しくなるんだよ!!


614:デフォルトの名無しさん
07/12/15 05:35:26
それも極端な話だなあ、と思う反面確かにそれが近道だよなあと思っているおれがいる

615:デフォルトの名無しさん
07/12/15 08:55:36
ちょっと疑問なんだが、配列自体が先頭のアドレスを示しているのに、
さらにそれのアドレスが欲しい場合ってどういうケース?想像つかないんだけど。

616:デフォルトの名無しさん
07/12/15 10:40:49
こんな感じなら理解できるか?
#include <stdio.h>
#define N 5

void aryfunc(int ary[N][N])
{
int *temp;
for(temp = &ary[0][0]; temp != &ary[N-1][N]; temp++){
(*temp)++;
}
}
int main()
{
int ary[N][N] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},
{16,17,18,19,20},{21,22,23,24,25}};
int *temp,i;
for(temp = &ary[0][0],i = 1; temp != &ary[N-1][N]; temp++,i++){
printf("%d ",*temp);
if(!(i%5))
putchar('\n');
}
aryfunc(ary);
for(temp = &ary[0][0],i = 1; temp != &ary[N-1][N]; temp++,i++){
printf("%d ",*temp);
if(!(i%5))
putchar('\n');
}

return 0;
}

617:デフォルトの名無しさん
07/12/15 12:08:10
>>616
添字でアクセスできるのに、わざわざポインタつかってわかりにくくしてる気がするんだが。
↓と同じことでしょ?

void aryfunc(int ary[N][N])
{
int i, j;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
ary[i][j]++;
}
}
}


618:デフォルトの名無しさん
07/12/15 12:11:15
>>615
配列の配列とか、配列の配列の配列とか、つまり多次元配列を
関数の引数として渡すときに必要だな

619:デフォルトの名無しさん
07/12/15 12:15:46
>>615
配列名は、配列の「先頭の要素」のアドレス。
配列名に&をつけた場合は配列「そのものの」のアドレス。

ポインタの値としては同じ値だが、意味が違う。

なんか思い違いをしてる気がするぜよ

620:615
07/12/15 12:48:40
>>618
多次元配列も、型と先頭アドレスと要素数を何らかの形で渡せばいいわけだから、
アドレスに関しては配列名のみを渡せばいいんじゃないの?

>>619
意味の違いは理解してるつもりだが、これじゃなきゃできない、というケースが思いつかなくてさ。
先頭の要素のアドレスと、配列そのもののアドレスが違うことがあれば理解もできるってもんだが…

621:デフォルトの名無しさん
07/12/15 13:12:30
&つけようがつけまいが
値同じだから意味は同じ

しょうもねー議論してるんじゃねーよw

622:デフォルトの名無しさん
07/12/15 13:22:07
そんな乱暴なw

623:デフォルトの名無しさん
07/12/15 13:54:30
>>621
型が違うから意味は違うだろ

624:デフォルトの名無しさん
07/12/15 14:29:01
>>621
おまい、ポインタはvoid*さえあればいい派だなw

625:デフォルトの名無しさん
07/12/15 14:51:34
void *と
void **あれば何もいらねーだろ。

型に束縛される書き方してると
汎用性失う言語だし

携帯のドライバなんかは
int Inithoge(void * data1, void *data2, void *data3)
こんなの普通だぞ?

626:デフォルトの名無しさん
07/12/15 15:01:07
携帯用のドライバなんかどうでもいい

627:デフォルトの名無しさん
07/12/15 15:42:40
URLリンク(www.kouno.jp)

>>配列の配列は、ポインターへのポインターに成り下がることはない。
これを読んで思ったんだけど、
int main(int argc, char **argv)は間違い(行儀が悪い)で、
int main(int argc, char *argv[])が正しい(行儀が良い)の?

628:デフォルトの名無しさん
07/12/15 16:43:52
>>627
関数の引数は常にポインタしかとらない。
字面上配列の形をしていても、そいつはポインタだ。
だから、
 void foo(char *pa[]);
 void bar(char **pp);
 char aa[10][10];
という関数と配列の配列があったとして、以下の呼び出し
 foo(aa);
 bar(aa);
のどちらも違法(コンパイラが怒る)だ。
これが「配列の配列は、ポインターへのポインターへ成り下がることはない」の意味だ。
ちなみにmainに渡されるargvはポインタの配列であり、これはポインタのポインタで受けられる。

629:デフォルトの名無しさん
07/12/15 18:02:39
argvがポインタの配列だから
void hoge(char str[])を
void hoge(char *str)と書けるのと一緒で
int main(int argc, char *argv[])を
int main(int argc, char **argv)って書くのは全然おかしくないわけか。
むしろ後者の方が実際にやっていることとイメージが近いな。

630:デフォルトの名無しさん
07/12/15 18:45:17
const char* const argv[] って書きたいところだけど

631:デフォルトの名無しさん
07/12/16 06:01:17
ポインタの配列と、配列の配列の違いを、
いくら説明しても全く理解できないヤツ、
会社に一人くらいいるよな・・・

プロのプログラマーのはずなのに

632:デフォルトの名無しさん
07/12/16 06:05:55
・ポインタを「何かを指している矢印」
・配列を「何かが入っている箱」
という図を描いてみて、その上で配列の配列とポインタの配列を描いてみればすぐわかると思うんだけどな。

633:デフォルトの名無しさん
07/12/16 11:13:25
>>631
専門書籍で使われてる言葉をそのまま使っても伝わらないよ
一度日本語に直す、相手に伝わる言葉に直す
そういうリファクタリングを繰り返してバカ矯正プログラムが完成するんだ

634:デフォルトの名無しさん
07/12/16 16:47:55
ダブルポインタと呼ぶのはやめてほしい

635:デフォルトの名無しさん
07/12/16 17:07:40
図ばかり頼りにして、言葉を大事にしないのは、理系プログラマの欠点だ

636:デフォルトの名無しさん
07/12/16 21:45:05
文章から何かをイメージする能力が読む側に備わってない
理系文系だ関係なく読解問題が苦手なの増えてるだろ?
だからこっちでイメージを用意してやりようやく相手が理解できる
マンガと同じだわ

637:デフォルトの名無しさん
07/12/16 22:15:45
そうゆうこと
嫌韓を読めばよくあの国が理解できるのと一緒

638:デフォルトの名無しさん
07/12/16 22:49:12
嫌韓って漫画じゃねえよあれ。カット集じゃん
全編挿絵っつうか

639:デフォルトの名無しさん
07/12/16 23:05:44
マジレスすること自体
ゆとりだと自己主張しているものだな。

このスレ削除でよくねーか?

640:デフォルトの名無しさん
07/12/16 23:08:20
時々思いがけない議論があってちょっと楽しいから
削除しないで放置しておいて欲しい

641:デフォルトの名無しさん
07/12/16 23:13:43
マジレスでもなんでもないだろw
どんどん話題が枝葉にそれてるだけで

642:デフォルトの名無しさん
07/12/17 00:08:20
まず、学ぶべきことを定義するのが先じゃないか?
  アドレスの代入、アドレスが示す値の参照
  関数へのアドレス渡し
  ポインタを利用するアルゴリズムを理解
こんな感じでさ

643:デフォルトの名無しさん
07/12/17 00:14:32
レス600過ぎてから定義されてもwww

644:デフォルトの名無しさん
07/12/17 01:39:57
老いて益々盛んってことわざもあるし
人生に手遅れって言葉はないと思うんだ

645:デフォルトの名無しさん
07/12/17 04:57:57




646:デフォルトの名無しさん
07/12/17 11:54:52
図に書いて説明するより、ソースレベルデバッガでポインタ変数にどんな値が入って、
その値が指すアドレス(とその前後アドレス)にどんな値が入ってるのか
見せた方が分かりやすいと思う。

647:デフォルトの名無しさん
07/12/17 12:32:54
>>646
ポインタの実際の値がいくつなんて、
どうでもよいことじゃね?

648:デフォルトの名無しさん
07/12/17 17:17:05
ポインタをsizeofすると正体がわかるよね
32bitの処理系なら型に限らず全部4だし

649:デフォルトの名無しさん
07/12/17 18:12:01
>647
いや、そういう正体のつかめ無さが、初心者には分かりづらいんじゃない?
まずは抽象度を下げて、具体例から入った方がいい。

650:デフォルトの名無しさん
07/12/17 21:20:39
>>648
ただそんなことに頼っていると書いているコードがしばらくたって
使おうと思うと動かなくなる。

651:デフォルトの名無しさん
07/12/17 23:40:06
ポインタは単純だ
for (int i = 0; dst[i] = src[i]; i++);
がポインタのおかげで
for (; *dst++ = *src++;);
できるだけだ

652:デフォルトの名無しさん
07/12/17 23:59:44
あまり違わない気がする・・・

653:デフォルトの名無しさん
07/12/18 02:16:14
つか、C++使い始めてからポインタなぶるなんて中々無くなったわ

654:デフォルトの名無しさん
07/12/18 02:48:13
関数での受け渡し以外にポインタなんて使う?

655:デフォルトの名無しさん
07/12/18 03:51:26
mallocなどで確保するときに使うよ

656:デフォルトの名無しさん
07/12/18 09:50:06
文字列だってポインタじゃん

657:デフォルトの名無しさん
07/12/18 18:39:02
>>654
自己参照型構造体使ってないのか?素人さん?

658:デフォルトの名無しさん
07/12/18 20:34:35
玄人さんがお見えになったぞ!

659:デフォルトの名無しさん
07/12/18 20:48:28
ポインタ使うのに、玄人も素人もない

660:デフォルトの名無しさん
07/12/18 23:03:10
グローバル変数の初期化順序が保証されてないから、初期化順が重要な
グローバルオブジェクトはポインタだけ定義しといて、初期化関数で順番に
newしていくとか。
(順序が重要なオブジェクトをグローバルにすることの是非は置いといて)

661:デフォルトの名無しさん
07/12/19 01:03:25
>>654
オブジェクトいろいろ弄る時に使うよ。入れ替えたりとか便利。

662:デフォルトの名無しさん
07/12/19 01:33:28
コールバックするのにつかうー

longjumpするのにも使う

663:デフォルトの名無しさん
07/12/19 01:43:57
もう「無いと困る」でいいんじゃね?

664:デフォルトの名無しさん
07/12/19 01:51:40
>>657
データ格納するならデータベース使わね?
組み込みなら、一時的な(親機に渡す日次処理で消えてしまうよな)データの格納に使ったりするけど
今は組み込みもDBの採用が進んでるし

665:デフォルトの名無しさん
07/12/19 01:55:29
それとこれとは話が違う・・・

666:デフォルトの名無しさん
07/12/19 02:02:54
話が違うというか、本物が来ちゃったようだ・・・

667:デフォルトの名無しさん
07/12/19 02:37:02
ポインタ使って2−3木を作りたいと思っているのですが
ここを見ればおkていうサイトとかありませんか?

668:デフォルトの名無しさん
07/12/19 08:24:16
データ構造とアルゴリズムを扱った書籍を買った方がいいと思うね

669:デフォルトの名無しさん
07/12/19 10:32:47
てか作ればいいじゃん

670:デフォルトの名無しさん
07/12/19 10:48:42
自己参照構造体というのを試してみたんだが、メモリの開放が面倒そうだ。
自分を指してる一つ前の構造体のアドレスってどうやって取得するの?
元々そういう風に構造体を作らなきゃダメ?↓みたいな感じで。

typedef struct tree {
struct tree *prev;
struct tree *next;
int x;
} tree_t;

671:デフォルトの名無しさん
07/12/19 10:51:29
駄目

672:デフォルトの名無しさん
07/12/19 10:59:19
自分は初期の頃はtree->next->nextでNULL見つけてtree->nextを解放したら,
tree->nextをNULLにする.ポインタ最初に戻してまた上から見るみたいなことやってたw
双方向だとその辺ずいぶん速くなるよね.

673:デフォルトの名無しさん
07/12/19 11:32:57
>>672
再帰すればいいじゃん。

674:デフォルトの名無しさん
07/12/19 11:44:48
>>672
うん,いまは順方向だけの場合そうやってる.
順j方向リストの場合サーチかけてるポインタじゃなくて
その次に対して操作すると一つ前のアドレスはサーチかけてる
ポインタそのものになるということをいいたかった.


675:デフォルトの名無しさん
07/12/19 12:56:15
>>668 >>669
わかりました、頑張ります!

676:デフォルトの名無しさん
07/12/19 13:35:02
おまいら、1方向の線形リストならもっとうまい手があるだろうが。
あるノードを消す場合は、その後ろのノードを消すノードに上書きして、
後ろのノードをfreeするんだよ。

677:デフォルトの名無しさん
07/12/19 17:35:31
一方向の線形リストなら「上書き」って必要ないでしょ
消すノードの前のノードと後ろのノードを繋げてから
対象ノードをfreeすればいいんじゃないの

678:676
07/12/19 17:39:23
1方向って*prevがないやつか
ごめんなさい

679:デフォルトの名無しさん
07/12/19 17:39:55
おれ677だった
ごめんねごめんねごめんね

680:デフォルトの名無しさん
07/12/19 17:56:32
>>679
許すからキニシナイ。


真面目な話、あるノードを消したければ後ろのノードの内容を上書きして後ろの方の
ノードを消すなんてのは一方向線形リストを扱う時の基本的なアルゴリズムだよ。
先頭からまた検索するなんて、無駄無駄無駄〜!


じゃ、あるノードの前に新しいノードを追加する時はどうすれば無駄がないか
考えてみそ。

681:デフォルトの名無しさん
07/12/19 19:19:59
ポイントを押さえて学ぶべき

682:デフォルトの名無しさん
07/12/19 19:57:24
2次元配列を渡すときに大きさが分からなくて
void hoge(int array[][SIZE])見たいな書き方ができないときは
void hoge(int* array[])か
void hoge(int** array)で書くしかない?


683:デフォルトの名無しさん
07/12/19 20:00:19
動的確保してポインタへのポインタで渡す

684:デフォルトの名無しさん
07/12/19 20:19:36
動的静的関係なくね?

685:デフォルトの名無しさん
07/12/19 20:22:04
渡す側がサイズを知らないってどういうこと?

686:デフォルトの名無しさん
07/12/19 20:26:19
よくあること

687:デフォルトの名無しさん
07/12/19 20:30:01
>>682
また、ポインタと配列がゴチャゴチャになってしまって分からないヤツがきたな

688:デフォルトの名無しさん
07/12/19 20:30:38
受け取る側が渡す側からサイズを教えてもらえないと、2次元として扱うのは無理なのだが

689:デフォルトの名無しさん
07/12/19 20:31:15
番兵くんがいればそうとも限らない

690:デフォルトの名無しさん
07/12/19 20:40:50
もう、なんでもかんでもvoid*で渡して、
後は、渡されたほうの関数の中で好きにすれば、
なんでもOKだ

691:682
07/12/19 20:46:15
int sum(int** array,int i_size,int j_size){
 int sum=0;
 for(int i=0;i<i_size;i++)
  for(int j=0;j<j_size;j++)
   sum+=array[i][j];
 return sum;
}
a[3][4],b[10][20]が宣言されてたとして、
上の関数ならsum(a,3,4)もsum(b,10,20)も実行できるけど
*じゃなくて[]を使おうとすると大きさ分からなくて困るじゃん…
と書こうとしたんだが、静的配列じゃ動かないのなこれ。
いろいろ勘違いしてたすまん。

692:デフォルトの名無しさん
07/12/19 20:49:02
malloc()したときに確保した要素数わかってるんだから、
それを関数に渡せばいいだけだと思うが。
要素数を教えないで、どうやって終端を認識するの?

693:デフォルトの名無しさん
07/12/19 20:58:44
void hoge(int **ary, int m, int n)
{
/* ごにょごにょ */
}
int main(void)
{
int **ary;
int m, n, i;
/* m, nに配列長を代入 */
ary = malloc(m * sizeof(int *));
for (i = 0; i < m; i++)
ary[i] = malloc(n * sizeof(int));
return 0;
}

こういうことじゃないの?

694:デフォルトの名無しさん
07/12/19 22:23:32
配列でもポインタが扱える
では無く、むしろ
配列はポインタで処理される
と考えるんだ

695:デフォルトの名無しさん
07/12/20 00:33:27
つか、STL使えよって話だよな

696:デフォルトの名無しさん
07/12/20 20:29:52
OTLもなかなかいいよ

697:デフォルトの名無しさん
07/12/20 20:36:39
ポインタの壁に挫折した人みたい

698:デフォルトの名無しさん
07/12/21 04:26:47
いろいろ書いて実行してみること。
アセンブラしてたからかな?すぐ理解できた。

699:デフォルトの名無しさん
07/12/21 09:21:28
今からポインタ学ぼうって人が「じゃあアセンブラからやろう」って思う訳が無い

700:デフォルトの名無しさん
07/12/21 12:01:32
アドレス変換テーブルの話なんか聞かされて
よけいわけわからなくなっちゃったような奴なら
じゃあアセンブラからやろうと思うんじゃないか

701:デフォルトの名無しさん
07/12/21 14:13:17
やる気さえあればすぐ覚えられる
最長でも1日悩み抜けば覚えられるレベル
厄介なのは、すぐ意気消沈してしまう性格

702:デフォルトの名無しさん
07/12/22 03:07:15
**
をポインタのポインタなどと訳する事で余計に初心者の理解を妨げてるように感じる。


703:デフォルトの名無しさん
07/12/22 03:11:39
じゃあなんて

704:デフォルトの名無しさん
07/12/22 03:29:18
ポインタ(変数|オブジェクト|インスタンス)へのポインタ

705:デフォルトの名無しさん
07/12/22 03:34:15
ようするにポインタへのポインタじゃないか

706:デフォルトの名無しさん
07/12/22 11:26:22
pointer to pointer
「の」は適切じゃないかもな

707:
07/12/22 11:26:53
ポインタ変数を型とするポインタとか

708:デフォルトの名無しさん
07/12/22 11:35:30
>>707
わけわからん

709:デフォルトの名無しさん
07/12/22 12:45:55
toに引きずられてるアホども

710:デフォルトの名無しさん
07/12/22 13:05:50
ポインタとポインタでいいじゃん

2こ仲良くていいじゃん

711:デフォルトの名無しさん
07/12/22 13:36:43
int x = 1, *px, **ppx;
px = &x;
ppx = &px;

printf("%d %d %d", x *px, **px);

712:デフォルトの名無しさん
07/12/22 13:54:03
>>711
いいたいことは判るが

> printf("%d %d %d", x *px, **px);

printf("%d %d %d", x, *px, **ppx);


713:デフォルトの名無しさん
07/12/22 14:32:04
「ポインタのポインタ」と聞いて、その本質と真意を理解できないおまえらは、頭悪い。
100の言葉をもって、最初から最後まで全てを語りつくさないと理解できないのか?

714:デフォルトの名無しさん
07/12/22 15:04:33
初心者にとっては解りにくいって話が、どうしてそうなる?

715:デフォルトの名無しさん
07/12/22 15:10:02
それは誤解
言葉がわかりにくいんじゃないんだよ

716:デフォルトの名無しさん
07/12/22 15:10:08
ポインタのポインタ の検索結果 約 4,450 件中 1 - 10 件目 (0.02 秒)
URLリンク(www.google.co.jp)

ポインタへのポインタ の検索結果 約 2,600 件中 1 - 10 件目 (0.21 秒)
URLリンク(www.google.co.jp)

ダブルポインタ の検索結果 約 2,430 件中 1 - 10 件目 (0.21 秒)
URLリンク(www.google.co.jp)

717:デフォルトの名無しさん
07/12/22 16:15:03
char *cp;
を「charのポインタ」って言うんだから、
void **pp;
を「ポインタのポインタ」って言ってもいいじゃないか。

718:デフォルトの名無しさん
07/12/22 16:20:44
うん

719:デフォルトの名無しさん
07/12/22 16:23:48
俺char *は「charへのポインタ」と言っているよ。

720:デフォルトの名無しさん
07/12/22 16:25:29
>>717
ポインタ=何かを指す=指向性のあるもの。よって、
char *cp は「char型へのポインタ」
void **pp は「void型へのポインタへのポインタ」

721:デフォルトの名無しさん
07/12/22 16:27:03
うん

722:デフォルトの名無しさん
07/12/22 16:28:10
>>720
それでもいいけどね、「へ」は無くてもいいんだよ。

723:デフォルトの名無しさん
07/12/22 16:35:02
>>720
型は指してないんじゃね?

724:デフォルトの名無しさん
07/12/22 16:43:12
俺も意識して
「〜のポインタ」とか「関数ポインタ」とかじゃなくて
「〜へのポインタ」って言ってる

725:デフォルトの名無しさん
07/12/22 16:48:16
それでも通じるからいいんじゃね

726:デフォルトの名無しさん
07/12/22 16:48:18
「へ」は重要だ。「へ」があることによって、何かを指してると認識できる。
「〜のポインタ」だけだと意味が通じない。

…ということを言いたかった。

727:デフォルトの名無しさん
07/12/22 16:48:59
いや「へ」はなくても通じるんだよ

728:デフォルトの名無しさん
07/12/22 16:53:22
そもそもポインタって何かを指すものじゃん

729:デフォルトの名無しさん
07/12/22 17:32:03
初心者にとって、という話だろ?「へ」はあったほうがいいよ。
既に理解してる人にはどっちでもいい。

730:デフォルトの名無しさん
07/12/22 17:38:55
初心者にとっても有っても無くても同じ。

731:デフォルトの名無しさん
07/12/22 17:56:14
じゃあvoid ***pppはなんていうの?
char ****cpppはなんていうの?

732:デフォルトの名無しさん
07/12/22 19:01:12
そんなものは出てきてはいけないw

733:デフォルトの名無しさん
07/12/22 19:53:13
      ___    ━┓
    / ―\   ┏┛
  /ノ  (●)\  ・
. | (●)   ⌒)\
. |   (__ノ ̄  |
  \        /
    \     _ノ
    /´     `\
     |       |
     |       |
           ___   ━┓
         / ―  \  ┏┛
        /  (●)  \ヽ ・
       /   (⌒  (●) /
       /      ̄ヽ__) /
.    /´     ___/
    |        \
    |        |

734:デフォルトの名無しさん
07/12/22 20:38:12
「への」に1票

735:デフォルトの名無しさん
07/12/22 22:39:37
>>731
void ***pppやchar ****cpppなんて使う機会ない


736:デフォルトの名無しさん
07/12/23 02:26:02
へ へ
の の
 も
 へ

737:デフォルトの名無しさん
07/12/23 04:23:45
>>731
初心者がそんなもの使うかアホ
極論に持って行こうとするなよボケ

738:デフォルトの名無しさん
07/12/23 13:59:37
ダブルポインタでええやん。

739:デフォルトの名無しさん
07/12/23 14:23:10
じゃあダブポで

740:デフォルトの名無しさん
07/12/23 14:23:33
ゾッ

741:デフォルトの名無しさん
07/12/25 02:33:11
**のまま使ってる時点でほとんどクソコードだろ。
ふつうtypedefにするかstructにいれる。

742:デフォルトの名無しさん
07/12/25 09:29:32
いやいや、ある構造体の領域をヒープから確保する関数の場合とか、
**を渡した方が自然な場合もある。


743:デフォルトの名無しさん
07/12/25 13:07:01
どうせならデュアルポインタのほうがかっこよくね?

744:デフォルトの名無しさん
07/12/25 14:07:43
クアッドポインタにオクタポインタっすね

745:デフォルトの名無しさん
07/12/25 17:19:37
ポンタでよくね?響きが萌える

746:デフォルトの名無しさん
07/12/25 17:22:22
ポイポインタ

747:デフォルトの名無しさん
07/12/25 20:46:28
つ[*&]

748:デフォルトの名無しさん
07/12/25 21:01:54
ポインヨ

749:デフォルトの名無しさん
07/12/25 22:06:00
>>745
あのjunkyのおっさんですか?


750:デフォルトの名無しさん
07/12/26 00:05:43
ツインポインタ

751:デフォルトの名無しさん
07/12/26 00:39:04
ポインポイン

752:デフォルトの名無しさん
07/12/26 00:40:28
ポインティングゥー!ポインタァー!!!

753:デフォルトの名無しさん
07/12/26 02:17:22
日本語でいいだろ。「二次ポインタ 」

754:デフォルトの名無しさん
07/12/26 02:42:06
「ポインタ」も日本語にしろ

755:デフォルトの名無しさん
07/12/26 02:46:15
刺す人

756:デフォルトの名無しさん
07/12/26 02:46:48
そういわれればポインタの日本語訳って見かけないね
イテレータは反復子と訳されるのに

757:デフォルトの名無しさん
07/12/26 02:55:56
じゃ、「二次指示子」


758:デフォルトの名無しさん
07/12/26 19:59:17
ポインタの和訳は…そうだな…「オブジェクトリファレンス」ってのはどうだい?

759:デフォルトの名無しさん
07/12/27 03:35:43
参照じゃねーかw

760:デフォルトの名無しさん
07/12/27 05:40:44
その前に突っ込むところがあるだろw

761:デフォルトの名無しさん
07/12/27 07:59:20
ポインタはウルトラマンセブンに出てくる乗り物だよ

762:デフォルトの名無しさん
07/12/27 13:16:11
ウルトラマンのやつは「ポ↓イ↑ン↑タ↓ー↓」
コンピュータ用語のほうは「ポ↑イ↑ン↓タ↓ー↓」

763:デフォルトの名無しさん
07/12/27 14:43:31
違うだろ。

764:デフォルトの名無しさん
07/12/27 16:35:25
和訳なら矢印だな

765:デフォルトの名無しさん
07/12/27 18:19:45
int *ip
int* ip
ptr<int> ip
1番目より2番目の方が、2番目より3番目の方がわかりやすいと思うんだけどどうよ。

766:デフォルトの名無しさん
07/12/27 18:26:25
どうといわれても

767:デフォルトの名無しさん
07/12/27 18:42:59
ポインタ宣言子と間接参照演算子が別の記号だったら混乱起こさなかったのに。

768:デフォルトの名無しさん
07/12/27 19:10:47
C++のスマートポインタはその点で気が利いてる。
Cだと表現しようがないんだけど。

769:デフォルトの名無しさん
07/12/27 19:54:56
いまさら宣言の記法に注文つけてどうなる。


770:デフォルトの名無しさん
07/12/27 20:27:21
宣言の記法に注文付けたい奴は
typedef int* intptr;
とでもしやがれってんだ。
こんな事してるソース見たことはないが
でもwin32apiのソース読むと
typedefしまくりで、あんぐりする。

771:デフォルトの名無しさん
07/12/27 20:54:56
int* p, q;

772:デフォルトの名無しさん
07/12/27 21:47:44
int q, *p;
これと>>771が等価ってのはひどい。

773:デフォルトの名無しさん
07/12/27 21:47:47
>ポインタのポインタ
ハンドル…。

774:デフォルトの名無しさん
07/12/28 06:51:30
>>773
昔のMac以外にそういう呼び方をする流儀ってあるのか

775:デフォルトの名無しさん
07/12/28 07:22:09
>>774
別に流儀じゃなくて、一つのメモリ管理モデルとしてあるわけで。
(MacOSに影響受けているから当然と言えば当然だけど)PalmOSでもハンドルで管理していたし。

776:デフォルトの名無しさん
07/12/29 12:23:49
string使えはええやん。

777:デフォルトの名無しさん
07/12/29 13:04:32
は?

778:デフォルトの名無しさん
07/12/29 16:26:01
CPUエミュレータ作るとき、関数ポインタの配列を使いまくった。

779:デフォルトの名無しさん
08/01/05 06:19:59
クラスのメンバ関数の宣言にvirtualを使用すると関数ポインタになる件に関して
クラスの変数の初期化が面倒だからmemset(this,NULL,sizeof(*this))でうっかりvirtualを含むクラスを初期化してしまうと実行時エラーにw

780:デフォルトの名無しさん
08/01/05 10:19:27
あたりまえやん

781:デフォルトの名無しさん
08/01/09 01:12:26
>クラスの変数の初期化が面倒だから
そういう用途にはmemset使うなってエロイ人が言ってたよ。

782:デフォルトの名無しさん
08/01/09 19:58:20
memsetなんてもうずーっと使ってないなー

783:デフォルトの名無しさん
08/01/09 20:01:49
>>779
>memset(this,NULL,sizeof(*this))
ここでNULL使うのはおかしくね?

784:デフォルトの名無しさん
08/01/09 22:14:45
そもそもmemset()使うのがおかしいからどうでもいいよ。

785:デフォルトの名無しさん
08/01/09 22:47:58
URLリンク(www.kijineko.co.jp)
>局所変数、特に集成体を宣言した後、実際に必要かどうかに関わらず、必ず memset でゼロクリアする人は大勢います。
>しかし、そんなコードを見かけたら、それを書いた人のコードはすべて疑ってかかった方がよいかもしれません。

786:デフォルトの名無しさん
08/01/09 22:55:34
構造体単体でもmemsetする奴は危険だよ

787:デフォルトの名無しさん
08/01/09 23:03:41
別にmemsetそのものは危険じゃないよ。

788:デフォルトの名無しさん
08/01/09 23:09:05
する奴は
って書いてある

789:デフォルトの名無しさん
08/01/09 23:10:03
うん、そうだね。書いてあるね。

でもそんなことは関係なしにmemsetそのものは危険じゃないよ。

790:デフォルトの名無しさん
08/01/09 23:12:30
ポインタと全然関係ない話題ですねw

791:デフォルトの名無しさん
08/01/09 23:17:06
struct A a;
memset(&a, 0x00, sizeof(struct A));
もう馬鹿かとw

こんな後に

if( a.hoge != NULL)

とかやってる奴ちょっと来い
ぬっこしてやるから

792:デフォルトの名無しさん
08/01/09 23:20:21
勝手にすればぁ〜

793:デフォルトの名無しさん
08/01/11 05:16:33
局所変数の初期化って不要なの?

struct {
int a;
int b
int c;
} data;

struct data;
data.a = 0;

とやったとき、bとcには何が入っているのか確定してる?

794:デフォルトの名無しさん
08/01/11 06:47:12
もちろん不定

795:デフォルトの名無しさん
08/01/11 07:40:39
>>793
スレ違い。まぁ、そもそもコンパイル通らないだろうからどうでもいいけど。

796:デフォルトの名無しさん
08/01/11 09:06:04
構造体を初期化するのにmemset()を使わないなら、memset()なんて何に使うのさ?
そもそもゼロクリアなんていらねーよ、って話?

797:デフォルトの名無しさん
08/01/11 10:27:06
>>796
そもそも NULL == アドレス0 って保証はないわけなんだが


798:デフォルトの名無しさん
08/01/11 11:20:52
>>797
メンバにポインタが含まれる構造体の話か。でもそれなら、

struct DATA data[10] = {0};

という書き方も正しい保障は無いということになるよね。どうすりゃいいの?

799:デフォルトの名無しさん
08/01/11 12:05:18
={0} は正しい。memsetでゼロクリアするのとは異なる。

800:デフォルトの名無しさん
08/01/11 12:14:52
>>799
>>797

801:デフォルトの名無しさん
08/01/11 13:42:40
>>800
void *p = 0;
などとしたとき、p はアドレス 0 を指すわけじゃないぞ。
定数 0 は処理系依存のヌルポインタのビットパターンを作り出す。

struct DATA data = {0}; は、構造体 DATA の各メンバを
定数の 0 (ビットパターンが 0 なわけではない) で初期化するから、大丈夫だよ。

802:デフォルトの名無しさん
08/01/11 18:47:35
釣られすぎ

803:デフォルトの名無しさん
08/01/11 22:09:46
なるほど、釣りだったということにしたいわけか

804:デフォルトの名無しさん
08/01/11 22:26:20
ヌルポ インタ

805:デフォルトの名無しさん
08/01/12 00:41:13
>>804
ガッ

806:デフォルトの名無しさん
08/01/14 13:46:21
今はVSでクラスなんかをガシガシ使ってるから使わないけど、
一昔前にUNIXで開発してた頃はstructでデータ構造を設計して、
使用時には
memset(&data, 0x00, sizeof(data));
などのように初期化してから使う、というのが常套句だったよ。俺は。

807:デフォルトの名無しさん
08/01/14 15:09:53
はい、スレの皆さん
新年特別DQN >>806入りました〜

かわいがってやってください。w

808:806
08/01/14 17:20:45
■データ構成
  #define DATAMAX 255
  struct {
    struct {
      int code;
      char name[16];
    } table[DATAMAX];
  } data;

■初期化
  memset(&data, 0x00, sizeof(data));

■DB等からセット
  for(i=0; i<DATAMAX; i++) {
    data.table[i].a = a;
    data.table[i].b = b;
  }

■取得関数
  char empty[16];
  char *getName(char *code)
  {
    for(i=0; i<DATAMAX; i++)
      return data.table[i].name;
    return empty;
  }
■使用
  strcpy(name, getName(code));

809:806
08/01/14 17:21:05
>>807
かなりはしょってるが、上のレスのようにやってた。
DQN?俺がDQN?
他人に頼らず、テメーだけの力で批判でも何でもしてみろや。
他力本願な口だけ野郎。

810:デフォルトの名無しさん
08/01/14 17:35:52
コンストラクタで初期化してメンバは隠蔽した方がいいと思う

811:デフォルトの名無しさん
08/01/14 17:53:10
【虎の威を借る狐】

他人の権勢に頼って威張るザコのたとえ

812:デフォルトの名無しさん
08/01/14 18:12:21
>>809
本当にそんな汎用性のないキモイおもちゃ作り
ずっとやってたの?w

取得関数とかクエリ合わせてチューニングも
選択もできねーしこんな設計じゃ拡張性もない

ゴミすぎるだろw?

813:デフォルトの名無しさん
08/01/14 18:24:30
>>806
WindowsAPIのほとんどは今もそうだね

814:デフォルトの名無しさん
08/01/14 18:46:28
>>809
DQNかどうかは兎も角、>808を書いている時点でお郷が知れている。

815:デフォルトの名無しさん
08/01/14 18:53:08
やっぱり>>806は痛い奴だったか
そんな臭いがプンプンしたしなぁ

反論してみ?


816:デフォルトの名無しさん
08/01/14 18:58:26
お前のかあちゃんデベソ

817:デフォルトの名無しさん
08/01/14 18:59:35
きさまっ!いってはならないことをぉおぉぉおおおお

818:デフォルトの名無しさん
08/01/15 00:06:55
環境や用途によってやり方は違うだろうに「キモイ」って評価しちゃう奴はある意味スゲェと思う。

819:デフォルトの名無しさん
08/01/15 00:23:30
>>818
OSS宗教様達は多いよ
リーなんちゃらという変態指導者の
影響だろうけど

自分達の受け入れたくないコード=グロ
って定義だし。

820:デフォルトの名無しさん
08/01/15 00:35:04
実際見たら、グロなんだろ。

821:デフォルトの名無しさん
08/01/15 01:31:10
グロいものほど美味い。これは定説です。

822:デフォルトの名無しさん
08/01/15 07:03:52
ポインタ使った事無いから事故にならなかったんだろ。

こっそりやってるなら、どうせわからないからいいけど、
堂々と自慢されると、やっぱりな、あれだよ・・・


823:796
08/01/15 09:15:50
よーするに、memset()は使い道が無いってことかい?

824:デフォルトの名無しさん
08/01/15 10:40:09
>>823
環境依存でもよくて、標準の真っ当なコードに較べれば多少は速いかもしれないコードを使いたくて、
Intrinsicが用意されていないか使えなくて、インラインアセンブラが用意されていないか使えなくて、
他の手段が見つからないか、過去の遺物を使う為に必要。

825:デフォルトの名無しさん
08/01/15 12:05:51
とりあえず書いとけば誰かが直してくれるさ

826:808
08/01/15 14:26:44
まともな反論は>>812くらいか。
かなりはしょってて共通の関数なんかをすべて省いてるから>>812の感想はもっともだけど、
実際の事務処理アプリの現場ではその「キモイおもちゃ作り」とやらが蔓延していたのもまた
事実としてあるんだから、自分だけ高みから見下して一蹴してしまうすような>>812は、俺には
少し世間知らずに見えてしまうな。

>>815
「やっぱり」ってなんだ?
テメーで反論せずに誰かに反論してもらって「やっぱり」って思ったの?
まさに>>811に出てる「虎の威を借る狐」=ザコだなお前。
あと「反論してみ?」って見下してるけど、テメーは何も言ってないよねw

なんなんだお前は〜w


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5387日前に更新/171 KB
担当:undef