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


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

なぜポインタで引っかかる人が多いのか



1 名前:デフォルトの名無しさん [2010/06/30(水) 10:22:47 ]
なぜポインタで引っかかる人が多いのか

引っかかる人は何に困惑しているのか


454 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 00:14:51 ]
つまづく


455 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 00:32:14 ]
配列のコピーとポインタのコピーは明確に違う
その点はjavaだろうとpythonだろうと引っかかる人は引っかかる

456 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 02:31:47 ]
ポインタ
□→□□□□

457 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 02:38:54 ]
でっていう

458 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 22:18:46 ]
下記は完全に同じ意味ですか?
 p->a;
 (*p).a;

同じだとしたら、なぜわざわざ
 ->
という演算子を用意したのでしょうか?
由来とかあったら教えてください。

459 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 22:26:58 ]
Cの目的の一つにタイプ量を減らすことってのがあったな。

460 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 22:43:06 ]
(void)p->a->b->c;
(void)(*(*(*p).a).b).c;
いちいち先頭に戻って挿入するなんて考えられない

(void)p[0].a[0].b[0].c;
これもなんか嫌だよ

461 名前:デフォルトの名無しさん [2010/08/02(月) 22:45:29 ]
どんだけネストしてんだよw

462 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 22:57:31 ]
超巨大構造体ですか?



463 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 23:02:44 ]
(void)foo->super(foo)->hoge(foo->super(foo));
(void)(*(*(*foo).super)(foo)).hoge)((*(*foo).super)(foo));
一時変数使えよって感じだな

DirectXとかlibjpegとかCore Foundationでは構造体と関数ポインタでこんなことやっていたと思う
オブジェクト指向っぽく書けるから良く使う手法だけどね

464 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 00:20:42 ]
>>460
> (void)(*(*(*p).a).b).c;
配列のポインタとか、関数のポインタとかが複数からむと、そんな記述に現実なるじゃん。
何故構造体だけが -> なんてものを用意されて優遇されているのか。

465 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 00:27:01 ]
配列[]も関数()も構造体->も後置
*だけが前置

466 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 00:52:40 ]
優遇前 (*p).a *(p+i) (*p)()
優遇後 p->a p[i] p()

467 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 07:29:00 ]
関数ポインタpfに対して(*pf)();とpf();が同じになるのだから、
ドット演算子もこの仕様に変えたら

p.a.b.c;

って書けるじゃん。

468 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 19:18:18 ]
ポインタの問題 初級

int a[10];
a[0]=10;
a[1}=20;
a[2]=a[0]+a[1];

このとき、a[2]はいくつになるか答えなさい

469 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 19:23:44 ]
それは配列

470 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 23:44:59 ]
30?

471 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 13:50:20 ]
それよりコンパイルが通るのかそれ

472 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 17:12:40 ]
ポインタ関係ないだろ



473 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 18:00:55 ]
int *x

474 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 18:13:25 ]
汚い尻穴だなあ

475 名前:デフォルトの名無しさん [2010/08/07(土) 21:35:18 ]
int* x

476 名前:デフォルトの名無しさん [2010/08/08(日) 23:22:06 ]
C++をやるようになってからは、以前よりポインタを使わなくなったな。

477 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 11:55:58 ]
ポインタでひっかかるってよく言うけど、具体的にポインタの何でひっかかるの?
初期化せずに使うミスをするとかそういうこと?

478 名前:デフォルトの名無しさん [2010/08/09(月) 12:32:32 ]
>>477
こうゆう書き方とかしちゃうんじゃね?
*ptr++  ptr+sizeof(*ptr)
正直なんでポインタで引っかかる人がいるのか理解できない

479 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 12:46:48 ]
時間をかければ理解できるが無駄な時間がかかりすぎる気がする
もっと近道は無いのか
無いなら無いことを証明するべきじゃないか
と愚痴っているうちに時間が過ぎて行きます

480 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 14:41:58 ]
x=20;
p=&x;
*p=30;

これで、pしか変更してないように見えるはずなのにxが30になる
これがポインタのすべてだろ

481 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 14:50:41 ]
>>480
そんな程度なら参照でも挫折するだろ

482 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 14:55:13 ]
こういうのだろ。
struct node {
int value;
struct node *next;
}

struct node *list = ???;

struct node *n;
// 略
struct node **tmpnext = &n->next;
struct node *orgnode = n->next - sizeof (int);



483 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 14:56:45 ]
ミスった。
struct node *orgnode = tmpnext - sizeof (int);


484 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 18:32:09 ]
>>477
本来ポインタとは、ポインタが何かを理解してる人間だけが使えばいいところを
C言語は初心者ですらポインタと無関係ではいられないからだろう。

485 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 19:02:11 ]
ポインタ周りの日本語訳が酷いってのが関係してると思うな
どうしてそんな言葉を当てちゃったのみたいな

まあ俺自身まだポインタのとこまで勉強してないからよくわからんが

486 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 19:04:57 ]
昔内輪ではやったネタなんだけど

車輪だな
しかも劣化した汚ねぇ車輪だな
車輪(スポーク)はケツの皺だな

∴ 汚ねえケツだなぁ

ってことで
>>482
のような小汚いソースを見るとTDNを思い出す

487 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 23:02:46 ]
2重ポインタあたりは引っかかると思う。
char** t = (char**)malloc(10*sizeof(char*));
int i;
for( i=0; i<10; i++){
t[i] = (char*)malloc(100*sizeof(char));
}
こんなふうにメモリ取ってこなきゃならんのをけっこう忘れると思う。

あとは
int test(int a[5][10])
のような引数の時とか微妙に型チェックがめんどくさかった気がする。


488 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 02:14:12 ]
//引っかかる言語
int[] a;
a[0] = 0;

#引っかからない言語
my @a;
$a[0] = 0;

489 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 02:25:18 ]
>>487 は判ってないひと

490 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 23:49:56 ]
大きいオブジェクトを生身で渡すとか
ローカルで定義された参照を返すとか

491 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 14:26:41 ]
ひたすらもし〜でなければを繰り返して切り分けるより
宣言多くなるかもだけど実質中身同じだしってことか

492 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 18:07:05 ]
>>488
それさ、単に宣言してない変数を
自動的に作るってだけじゃね?



493 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 00:40:47 ]
>>487
ポインタ変数を参照渡ししたい場合もあるのですが、それがかなわないので、しかたなしに2重ポインタになる局面は多いと思います。
とはいっても何とかなった場面もありましたが。
hibari.2ch.net/test/read.cgi/tech/1280653311/663

494 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 00:51:31 ]
2重ポインタw

495 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 11:41:57 ]
しかたなしに、という表現の意図がわからん。
ポインタはなるべく使うべきでないというドクトリンでもあるのか?
ポインタを使えばできることはポインタを使えばいいだけのことだろ。

496 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 12:32:46 ]
>>495
C++ なら参照渡しにするでしょうね。そのほうがわかりやすい。
int func(int &*p)

497 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 12:51:59 ]
constでない参照の乱用がわかりやすい?どこの初心者だよ。

498 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 13:03:19 ]
>>497
それは参照を理解していないだけでしょう?

499 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 13:18:35 ]
こんな場所なら初心者でも熟練者でも同じように発言できるからなあ。
どっちが正しいか客観的に判断する方法もないし。
「あんたがわかってないだけでしょ」って言ったもん勝ちか。

500 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 13:44:58 ]
ポインタの一次元配列を、二重ポインタって呼ぶんだ
へー

501 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 13:51:10 ]
まじで?
初めて聞いた。

int **a;これが二重ポインタだと思ってた。

502 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 14:38:44 ]
なんか、会社ってところはどこもそうなのかも知れないけどさ
良い人から辞めちゃうよね
んでもって、腹黒い人とか、他人を動とも思わない人とか、
図々しい人とか、・・・そんなのばかりがテコでも動かないぜって
感じで居座り続ける・・・
会社って、こうやってダメになっていくんだと思う
それはそのまんま居座り族・牛耳り族が社会をダメにしていくって
ことなんだ。。。



503 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 16:49:35 ]
 二 重 ポ イ ン タ な ん て 言 葉 は な い

504 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 17:25:28 ]
>>499
それもそうですねえ。
ちょうど宿題スレでポインタのポインタを扱う(正確にはポインタのポインタを使いたいところを使ってはいけない状況に縛られる)状況でプログラムを作成したので、
もののついで、1) ポインタのポインタを使うプログラム、2) ポインタの参照を使うプログラム、を実際に書いてみました。
私の感性では、やっぱり参照を使ったほうがわかりやすい、と思うのですが、どうでしょうかね。

出題内容:hibari.2ch.net/test/read.cgi/tech/1280653311/615
ポインタのポインタを使って書いたもの:codepad.org/MpmPDEc3
参照を使ったもの:codepad.org/nHqWWH51


505 名前:499 mailto:sage [2010/08/29(日) 17:52:20 ]
>>504
その程度の問題だったらポインタのポインタも、ポインタの参照も使わずに出来るよ。
ポインタだけで出来るから頑張って作ってみ。

506 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 18:00:59 ]
>>505
ポインタだけでつくっています。
hibari.2ch.net/test/read.cgi/tech/1280653311/689

507 名前:499 mailto:sage [2010/08/29(日) 18:08:12 ]
じゃあ最初からそれ出せばいいじゃん・・・
何で無駄なポインタのポインタやら、ポインタの参照やら使ったプログラム書くんだか。

508 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 18:19:53 ]
>>507
>>506 では、2分木に対するデータの追加を扱っていますが、
ポインタのポインタをつかわなければ、
struct node *root;
root = add_node(root, data);
という形になり、これでは再帰が深くなると無駄な代入が繰り返されてしまいます。
本当に代入が必要なのはデータの追加が行われたところのノードですから、そのようにコードをかいて、
sturcut node *root;
add_node(&root, data)
という形にするのが本当だと思います。
参照を使うと、
struct node *root;
add_node(root, data)
とかけますし、add_node() 自体の記述でも、* や & を省くことができます。
具体的なコードの記述例は >>504 のリンク先を参照してください。

509 名前:499 mailto:sage [2010/08/29(日) 18:27:00 ]
>>508
>ポインタのポインタをつかわなければ、
>struct node *root;
>root = add_node(root, data);
>という形になり、これでは再帰が深くなると無駄な代入が繰り返されてしまいます。
それはロジックが悪い。
そんなに代入を繰り返さなくても出来る。考えてみ。

>参照を使うと、(略)* や & を省くことができます。
参照でコードが短くなるのは当然だが、同時に、「値が変化している」という情報も失われる。
以下のような例がありえる。
struct HOGE* hoge;
func1(hoge);
func2(hoge); //ここで内容をいじっている!
func3(hoge);
これは以下のようにしたほうが「中で何かしている」感じがわかりやすくなる。
func1(hoge);
func2(&hoge);
func3(hoge);
値を変える参照は、短くなるからと無闇に使うと危険ですよ。

510 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 18:31:38 ]
>>509
>それはロジックが悪い。
>そんなに代入を繰り返さなくても出来る。考えてみ。
いや、二分木や線形リストに関しては、ポインタのポインタを使わない限り、無駄な代入が繰り返されてしまいます。
ポインタのポインタを使わずにスマートな方法があるというのなら、それは是非知りたいところです。実例を示してください。

>値を変える参照は、短くなるからと無闇に使うと危険ですよ
それはそうですね。後から読むときにわかりにくいのは事実です。

511 名前:499 mailto:sage [2010/08/29(日) 18:34:27 ]
「参照を理解してない人」に教えてもらってどうすんだ?あ?

無礼な言葉を吐くだけ吐いて、出来ないとなったら教えてください、かよ。おめでたいガキだな。

512 名前: ◆QZaw55cn4c mailto:sage [2010/08/29(日) 18:41:58 ]
>>511
コードを示してください。
私はすでにポインタのポインタを使ったもの、参照をつかったもの、ポインタのポインタを使っていないものの3種を示しています。
時間はたっぷりありますから、アイディアだけでも示してください。

話はそれから。



513 名前:499 mailto:sage [2010/08/29(日) 18:43:48 ]
バカバカしい。
無礼者に使う時間などないよ。
おまえよりもうちょっとマシな誰かが、気が向いたらコード書いてくれるかもしれないから、それまで待ってれば?

514 名前: ◆QZaw55cn4c mailto:sage [2010/08/29(日) 18:47:43 ]
>>513
よく検討もせずに
>それはロジックが悪い。
というほうがよっぽど無礼ですね。こちらは動くコードを書いた上で意見を述べているのですけれども。

コードを示してください。
話はそれから。

515 名前:499 mailto:sage [2010/08/29(日) 18:50:23 ]
そこのロジックの悪さはきちんと検討して発言してるよ。
代替コードも書いている。
おまえにタダで見せる気にならないだけだ。
誰か奇特な人が見せてくれるまで口あけて待っとけ。

516 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 20:34:55 ]
>>515
何か既視感があるな・・・

517 名前: ◆QZaw55cn4c mailto:sage [2010/08/29(日) 20:34:56 ]
>>515
口だけなら「コードを書いている」といくらでもいえます。

それに「見せるきにならない」といいますが、
仮に見せていただければ、私はただただ低頭して「私が馬鹿でした」と発言して消えるでしょう。
それはあなたにとっては、大満足なのではないですか

動くコードを見せて実証することで、私の今までの発言を全否定できるにもかかわらず、それをせずにうそぶくのみ。
これでは、実証するアイディアなりコードなりがないと推測せざるをえません。推測ですけれどもね。

コードを示してください。
話はそれから。

518 名前:499 mailto:sage [2010/08/29(日) 20:38:25 ]
>>517
おまえが馬鹿(というよりは、低レベル)なことは、俺にとってははっきりしてるからな。
別にこんな便所のラクガキの場所で示す必要も無い。
逆に、示してやればおまえのレベルを引き上げてしまう。バカバカしい。
ど素人はど素人のまま、学生の宿題でもやってるのがお似合いだよ。

だいたい、教えて欲しいなら、最初の暴言を謝るのが順序だろう。それもせずにただ出せなんて図々しい。

519 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 20:41:44 ]
ポインタのポインタなんて、Win32のCOMみたいな使い方をする程度かな

ふつーに
struct data *alloc_root(void);
int add_data(struct data *root, char *name, char *tel);
とか作る

520 名前: ◆QZaw55cn4c mailto:sage [2010/08/29(日) 21:22:48 ]
>>518
ひとつ可能性があるとすれば、非再帰的に記述することですかね。

線形リストならば、それは可能ですが、2分木だと結構むずかしくなります。たぶん各ノードにワークエリアを設けて
戻るノードを記憶しなければならないでしょうね。
昔書いた非再帰的なコードをあげておきます。ポインタのポインタは使っていますが。
codepad.org/n3raxalm

私は再帰的なアルゴリズムのみしか念頭にありませんでした。
もし非再帰的に記述することを示唆しておれば、大変失礼いたしまた。

521 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 21:27:33 ]
binary treeで戻る?

522 名前:デフォルトの名無しさん mailto:sage [2010/08/29(日) 21:31:53 ]
>>521
ええ、binary tree でノードの追加なり総なめを行うのなら、親ノードの位置を逐一記録しておかなければならないでしょうね。
ノードを追加したら、追加されて新しく親ノードになったところをなんらかの形で覚えておかないといけないでしょう。
もしかすると、ノードごとにワークを持つ必要はないかもしれませんが。(>>520 はノードごとにワークをもっていました。)



523 名前:デフォルトの名無しさん mailto:sage [2010/09/01(水) 22:08:27 ]
親ノードとかいらねーよアホ
バイナリツリーでそんな実装するわけねーだろ

524 名前:デフォルトの名無しさん mailto:sage [2010/09/01(水) 23:05:14 ]
たしかに非再帰に書くのなら、いらないみたいですね。
hibari.2ch.net/test/read.cgi/tech/1280653311/735

525 名前:デフォルトの名無しさん mailto:sage [2010/09/04(土) 03:15:33 ]
char *name[]ってどういう意味なんでしょうか?

526 名前:デフォルトの名無しさん mailto:sage [2010/09/04(土) 07:12:23 ]
char **name;

527 名前:デフォルトの名無しさん mailto:sage [2010/09/04(土) 10:47:37 ]
>>526
ありがとう!

528 名前:デフォルトの名無しさん mailto:sage [2010/09/04(土) 15:28:58 ]
えっ

529 名前:デフォルトの名無しさん mailto:sage [2010/09/10(金) 19:18:42 ]
アセンブラでメモリの番地は理解していても
C言語での書き方で悩む事もあるんだよ

>>55みたいな

530 名前:デフォルトの名無しさん mailto:sage [2010/09/10(金) 19:19:32 ]
constの位置とかもな

531 名前:デフォルトの名無しさん mailto:sage [2010/09/10(金) 19:53:48 ]
面倒なので括弧を付ける

532 名前:デフォルトの名無しさん mailto:sage [2010/09/10(金) 23:54:01 ]
>>530
const は一番近い場所にある token が変更不可能になる
っていう理解で桶?



533 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 00:09:14 ]
int const *
近いってどっちだよ、ってなるぞ

534 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 17:57:59 ]
暗記したほうがマシ、というか十分。
理屈を抜きにするから応用利かないけど。

この二つ暗記な。

int *p[] ポインタの配列
int *const p コンストポインタ

だからこそ、
配列のポインタが (*p)[] だと想像できるし、
コンストintへのポインタが int const *だと分かる。

535 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 18:44:36 ]
そんなにむずかしくないだろ
constが後置修飾になってるほうがポインタそのものをconstにしてるだけ
int const もconst int も int を定数にしてるだけなんだし

536 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 20:25:13 ]
いや
いまは
int const * p;

int * const p;
の違いの話をしているんじゃまいか

537 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 20:41:58 ]
イメージ的には、
ポインタの配列は(*p)[] これだし、
constポインタはconst (int *)pこう書きたい。
イメージどおりには行かんね。

538 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 20:52:42 ]
>ポインタの配列は(*p)[] これだし、

hds

539 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 21:44:43 ]
const int *p

540 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 21:54:39 ]
const int *p;
int const *p;
int * const p;

541 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 22:22:42 ]
de?

542 名前:デフォルトの名無しさん mailto:sage [2010/09/12(日) 16:15:02 ]
掛け算以外のアスタリスクがあまり出てこないプログラムを心がけてますよ



543 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 18:36:27 ]
>>542
それは C の最強の武器を放棄したに等しい。

544 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 19:10:55 ]
>>540
kwsk

545 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 20:12:37 ]
const int *p => const int の ポインタ
int const *p => const int の ポインタ
int * const p => int の const ポインタ

546 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 20:19:34 ]
1行目と2行目の違いが判らんのだが

547 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 20:24:15 ]
違いはない

548 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 20:29:20 ]
えっ

549 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 20:36:05 ]
int main() {
int i = 100, j = 200;
const int *a, *b; // const int
int const *c, *d; // const int
int *const e = &i, *const f = &i; // intへのconstポインタ
int const *const g = &i, *const h = &i; // const intへのconstポインタ

*a = j; // error: assignment of read-only location
*b = j; // error: assignment of read-only location
*c = j; // error: assignment of read-only location
*d = j; // error: assignment of read-only location

e = &j; // error: assignment of read-only variable `e'
f = &j; // error: assignment of read-only variable `f'

*g = j; // error: assignment of read-only location
*h = j; // error: assignment of read-only location
g = &j; // error: assignment of read-only variable `g'
h = &j; // error: assignment of read-only variable `h'

return 0;
}


550 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 20:38:02 ]
ちょい修正:

const int *a, *b; // const intへのポインタ
int const *c, *d; // const intへのポインタ

551 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 20:51:05 ]
えっえっ

552 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 08:42:30 ]
* の左側に const があるか右側にあるかだけですべてが決まるんだよ
* が複数ある場合も何番目の * と * の間に const があるかで意味が決まる



553 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 17:48:16 ]
難しいのー

554 名前:デフォルトの名無しさん mailto:sage [2010/09/15(水) 00:05:24 ]
far * near * とかに比べると、ああらくちんだ〜。






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

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

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