ポインタ厨へ。ポインタは糞。イラネ。

このエントリーをはてなブックマークに追加
1仕様書無しさん
ポインタは、オブジェクトの参照で代用できるし、
ポインタの加算は「オブジェクトの参照の配列」のインデックス変数で代用できる。
2仕様書無しさん:2006/02/16(木) 19:51:28
オブジェクトの参照ってポインタそのものだよ。
3仕様書無しさん:2006/02/16(木) 19:53:08
Javaでポインタが無いと思ってるならそれは大きな間違い。
とんでもねぇープログラム作ってるぜ。

つか、Cから転向した漏れが騙されてわけだが。
4仕様書無しさん:2006/02/16(木) 20:25:28
スレ立てたんなら、もう少しネタを出せよ。
5仕様書無しさん:2006/02/16(木) 20:46:23
じゃあ>>1になりかわりましてお約束

巨乳好きへ。ボインは糞。イラネ。
6仕様書無しさん:2006/02/16(木) 20:48:31
>>5
スレ立てたんなら、もう少しネタを出せよ。
7仕様書無しさん:2006/02/16(木) 21:11:36
立ててないよ><
8仕様書無しさん:2006/02/16(木) 21:17:25
勃ててないよ><
9仕様書無しさん:2006/02/16(木) 21:20:06
C/C++、Delphiのような危険なポインタは排除すべきだと思います。
ポインタなんて百害あって一利なしですもんね。

参考までに危険なポインタが無い言語をあげておきますね。

Java、C#、VB、VB.NET、Perl・PHPなど各スクリプト言語
10仕様書無しさん:2006/02/16(木) 21:22:18
ポインタのポインタのポインタのポインタの・・・
11葉猫 ◆Jz.SaKuRaM :2006/02/16(木) 21:29:06
漏れが引き継いだソース***とかたくさん使ってるのに説明が一切ないんでつけど。。。。。
変数名も意味不明だち。。。。。
12仕様書無しさん:2006/02/16(木) 21:29:34
配列覚えたはじめは、配列の配列の配列の・・・って
多次元配列を作ってしまうものだ。
そして、どの次元が何のデータかわけがわからなくなる。

そんなことをせずに、構造体やクラスを使えばスッキリと実装できる。
ポインタのポインタのポインタの・・・ってのも
これと同じ類のものだろうな。
あんなもん使うべきじゃないし、力がある人は使わない。
13仕様書無しさん:2006/02/16(木) 21:41:57
配列は3次元までだろ
14仕様書無しさん:2006/02/16(木) 22:35:54
言語始めたばっかりは5次元配列とか普通に使ってたからなぁ
数、縦、横、奥、属性
複数の空間があって座標ごとにいろんな値が詰まってる
ちゃんとした本すら読まず独学だったせいで
ひとつのことを覚えるとひたすら応用して使ってたよ
そもそも構造体も名前付配列だしね要素が1個文字になっただけ

まぁ、構造体覚えた後も2次元配列の中に3次元配列があってその中に・・・
なんて平気でやってたころが懐かしいw
15仕様書無しさん:2006/02/16(木) 22:47:57
来月からCのプロジェクト。
オブジェクト指向覚えると、あの世界には戻りたくない。orz
16仕様書無しさん:2006/02/16(木) 23:09:08
>>12
そんなことをするなら
ListのListの
もしくは二次元のキーを持つハッシュ

List<キークラス> 二次元キー = new ArrayList<キークラス>();
二次元キー.add(キーオブジェクト1);
二次元キー.add(キーオブジェクト2);
Map map = new HashMap();
map.put(二次元キー, 値);

に汁。最近の玄関の扉はキー差し込み口(鍵穴)が二つ以上
ついているだろ。
あんな感じのを想像してくれ。
17仕様書無しさん:2006/02/16(木) 23:10:55
>>15
こっそりC++を埋め込んでしまえ
18仕様書無しさん:2006/02/16(木) 23:33:08
C++のコメントを使うんだ!
19仕様書無しさん:2006/02/17(金) 11:36:31
id
20仕様書無しさん:2006/02/17(金) 21:32:59
*
21仕様書無しさん:2006/02/17(金) 21:47:58
jp40454.cab [DLKey] 「青弐歳の履歴書と経歴書セット」第2版
http://jp4.biz/src/jp40454.cab.html
22仕様書無しさん:2006/02/17(金) 22:43:52
文字列をだいぬーする時に使います><
23仕様書無しさん:2006/02/17(金) 23:02:14
.NETはポインタが無い分、Javaより進んでいる
24葉猫 ◆Jz.SaKuRaM :2006/02/17(金) 23:08:05
意味ワカンネ
25仕様書無しさん:2006/02/17(金) 23:32:58
>>23



  . N E T

 ↑
 └──あるじゃねえか、ここに
26仕様書無しさん:2006/02/18(土) 03:30:39
>>25は一生懸命矢印がずれないように書いたんだろうなあ。
ご苦労なこったなあ。
27仕様書無しさん:2006/02/18(土) 03:36:14
・・・・
この程度のことで苦労するような無能にはなりたくないと思った
28仕様書無しさん:2006/02/18(土) 10:32:19
この程度のあおりでレスするような人間にはなりたくないと思った
29仕様書無しさん:2006/02/18(土) 23:35:27
Java はポインタがない分 C++よりすぐれている。




って結構多くのところで聞いた言葉だと思ったけど?
30仕様書無しさん:2006/02/19(日) 02:51:11
>>1
何を言っているんだお前は?頭の悪い専門学校生か工房か?

>>29
ポインタがないわけないだろマヌケ。考えなくていいだけだろ。
31仕様書無しさん:2006/02/19(日) 04:04:15
>>29
聞いた相手が素人でした、という可能性すら検討しないのか?
32仕様書無しさん:2006/02/19(日) 04:34:20
*(char *)dat = (char)0;
こう書かないとwarningでた。ポインタって意味わかんね
33仕様書無しさん:2006/02/19(日) 04:38:13
ここってプロの方が集まる場所でィィんですよね??
34仕様書無しさん:2006/02/19(日) 11:05:34
>>33
プロは危険なものを使わない
35仕様書無しさん:2006/02/19(日) 11:18:19
JavaとかC#みたいに中途半端に隠しているほうが危険だとおもうんだけどね。
36仕様書無しさん:2006/02/19(日) 11:33:34
どこが中途半端で、どこが隠しているというのか。
それがどういった理由でなぜ危険なのか、まったくかかれていない。


却下
37仕様書無しさん:2006/02/19(日) 11:37:53
超高級言語を最初から使った人は、ソフトウェアの仕組みをよく知らない。

っていうのは言語の問題ではなく、単に知識の問題。
知識をつけるためにC言語を勉強するのはよかろう。

しかし、仕事では使ってはいけない。

勉強のために筆算を使うが、仕事では電卓を使うのと同じ事。
38仕様書無しさん:2006/02/19(日) 11:44:28
>>36
素直に「どこが中途半端で、どこが隠しているの?」って質問しろよ。
お前は今、教えを乞う立場なんだから。
39仕様書無しさん:2006/02/19(日) 11:50:07
はなっから質問なんかしていない。
そんなもの無いから、質問しても答えは無しだとわかっている。
40仕様書無しさん:2006/02/19(日) 12:08:14
>>39
まあ、あれだな。
知らなきゃ幸せだってことね。
41仕様書無しさん:2006/02/19(日) 12:10:09
やっぱり答えは無しのようだ。
42仕様書無しさん:2006/02/19(日) 12:12:58
>>41
だから教えてほしいなら教えてください、だろ
43仕様書無しさん:2006/02/19(日) 12:15:05
別に教えてほしくないってw
「無し」という結論が正しいし、それで十分満足しているし。
俺はこういう結論で一向に構わん。
44仕様書無しさん:2006/02/19(日) 14:18:00
っつーか、>>36は、>>35がダメダメな主張だという事を言いたかっただけだろ。
教えて欲しい云々なんて見当違いもいいところ。
45仕様書無しさん:2006/02/19(日) 16:33:42
>>44
本気で言っているならあなたも馬鹿ですね。
ポインタって何か知らない人でしょうね。
46仕様書無しさん:2006/02/19(日) 16:38:47
ポインターって、手元からスクリーン上のオブジェクトを指すやつだろ。
便利じゃないか。
47仕様書無しさん:2006/02/19(日) 16:40:39
糞みたいなポインターを使ってるプログラマーが要らないだけだろ。
48仕様書無しさん:2006/02/19(日) 16:42:42
ポインターすら使えないプログラマーが糞みたいだからいりません
49仕様書無しさん:2006/02/19(日) 16:46:19
それって>>1
50仕様書無しさん:2006/02/19(日) 16:52:24
まぁポインタが使えなくてもできる仕事もあるのですから気落ちしないで頑張ってくださいという事でFA
51仕様書無しさん:2006/02/19(日) 17:06:16
ポインタの勉強するまでは参照が良くわからず、参照型の変数宣言するときにも
一々全部newしてましたorz
52仕様書無しさん:2006/02/19(日) 17:22:19
ある変数に入れてるオブジェクトを別の変数にコピーするとき
53仕様書無しさん:2006/02/19(日) 21:49:44
VB使いでさえ普通にポインタ=参照を使っているわけで。
54葉猫 ◆Jz.SaKuRaM :2006/02/19(日) 22:19:00
VBにはIntPtr、StrPtrとかあるでちょ。
55仕様書無しさん:2006/02/19(日) 22:20:56
はいはい。キチガイは帰っていいよ。
56仕様書無しさん:2006/02/19(日) 22:44:42
>>54
それは単にポインタ=参照のメモリアドレスを取得する命令に過ぎない。

VBをはじめ最近の高級言語では、ポインタを扱うときにメモリアドレスを
直接見なくてもポインタを使って出来る(間違った使い方以外の)
プログラミングができるようになっている。
57仕様書無しさん:2006/02/20(月) 00:16:24
メモリアドレスのインクリメントは出来ないんだけどな。
58仕様書無しさん:2006/02/20(月) 00:36:35
メモリアドレスは数値なんだから+1すりゃいいだけじゃん。

っていうか、そもそもなんのためにインクリメントするんだ?

オブジェクトが並んでいる=オブジェクトの配列 の中で
オブジェクトを列挙したいのなら、配列のインデックス変数を
インクリメントすればいいだけの話だし。
59仕様書無しさん:2006/02/20(月) 00:45:27
配列(データがどこからどこまであるか)という情報なしに、
オブジェクトのポインタを直接インクリメントできる言語は危険。

データが無いところまでアクセスして、たとえば単純なデータ参照など
場合によってはエラーが発生せずにそのまま動いてしまう。

こういう言語は使うのをやめたほうが良い。
60仕様書無しさん:2006/02/20(月) 13:12:03
>>59
それが必要なら付加すりゃいいじゃんよ、スマートポインタとかにして
バカじゃねぇーの
61仕様書無しさん:2006/02/20(月) 13:27:17
>>60
それを手動で管理するか、自動で言語環境がやってくれるかの差異は大きい。
Cでは「プログラマは神である」と言われているのは、別の言い方をすれば、
「神のごとき全能性でもって全てを管理できることを要求される」ということだ。

その辺が面倒に感じてくると、
C++のようなObjectにある程度面倒な処理を隠蔽出来る言語や、
VB、Javaのような言語側で面倒なことは概ね管理してくれる言語に流れる。
言語を換えないにしても、何らかのライブラリで細かな実装を外出しするようになる。

つまり、俺が言いたいことを一言で言うなら、
>>60
スマートポインタ出しちゃった時点で、
結局やろうとしてる方向は同じなんだから喧嘩すんなよ。もちつけ。
62仕様書無しさん:2006/02/20(月) 17:10:40
>>61
俺が言いたいのはこの程度の問題で頭悩ませるアホとだけは一緒に仕事なんぞしたくねーって言いたいだけ
63仕様書無しさん:2006/02/20(月) 17:22:11
あぁアレか
諸々の要素でCつかうのが最適な場合や
そもそも言語選択に自由がないのに
Cはポインタが危ないからイヤだとかごねるやつ
そういう馬鹿には触らせたくないなぁ

って結局ポインタ自体はメリットないし
64仕様書無しさん:2006/02/20(月) 17:24:44
>>57がおかしかったってことでFA?
65仕様書無しさん:2006/02/20(月) 17:28:29
>>59
「副作用を鑑みるとタミフルは危険、使いたくない」と言うのは勝手だが
「使うのを止めたほうがいい」は余計なお世話だ。
66仕様書無しさん:2006/02/20(月) 20:08:06
インクリメンタリズム
67仕様書無しさん:2006/02/20(月) 23:04:28
>>62
その程度の問題でおきた
バッファオーバーフローのバグなら、
商用、オープンソースともに数知れずなのだが。

そいつら全部アホか。おまえもえらくなったものだなw
68仕様書無しさん:2006/02/20(月) 23:11:23
ポインタで操作するの便利だよな
69仕様書無しさん:2006/02/20(月) 23:13:21
そう、
>その程度の問題でおきた
>バッファオーバーフローのバグなら、
とかいうのはお前みたいなマヌケの起こしている事だろ、こんなアホとは組みたくないという事。
70仕様書無しさん:2006/02/20(月) 23:58:11
>>68
気のせいだろw
71仕様書無しさん:2006/02/21(火) 00:00:25
Microsoftは間抜けの塊!
72仕様書無しさん:2006/02/21(火) 10:29:05
ひとつだけ言っておくと
スマートポインタ >>> (超えられない壁) >>> ガベコレ
だな。
73仕様書無しさん:2006/02/21(火) 10:33:32
ひとつだけ言っておくと
ガベコレあるけどシンプルで使いやすいアプリ >>> (超えられない壁) >>> スマートポインタを使っているが操作もアレでバグばっかりのアプリ
だな。
74仕様書無しさん:2006/02/21(火) 13:10:46
>シンプルで使いやすいアプリ >>> (超えられない壁) >>> 操作もアレでバグばっかりのアプリ
これは正しい

>ガベコレあるけどシンプルで使いやすいアプリ
>スマートポインタを使っているが操作もアレでバグばっかりのアプリ
こじつけで、因果関係が無し。俗に言う故意の誘導で、バカしか引っかからない盲点が有る。
または、バカしかこのような文は書けない。
75仕様書無しさん:2006/02/21(火) 14:07:23
>>67
>そいつら全部アホか。
肯定だ。コード書いてて気付かない、というのが寧ろ不思議なんだが。
76仕様書無しさん:2006/02/21(火) 15:32:46
>>73
そんなのはお前だけだ
77仕様書無しさん:2006/02/21(火) 20:38:15
たしかに、メモリ64kとかの環境で組んでるとなるとガベコレは使えないからなぁ
うん、やっぱりポインタは必要だよ
78仕様書無しさん:2006/02/21(火) 21:01:44
>>77
携帯でJava動いているんだが?
79仕様書無しさん:2006/02/21(火) 21:32:19
通信速度じゃないんだから
携帯とかその手のもので64kは無いって
マイコンとか基盤系の話だろ
80仕様書無しさん:2006/02/21(火) 21:59:35
KVMのKの意味はキロバイト。
64K程度で動きます。
81仕様書無しさん:2006/02/21(火) 22:27:00
>>メモリアドレスは数値なんだから+1すりゃいいだけじゃん。
めっけ、ポォインタァー理解不能者。
82仕様書無しさん:2006/02/21(火) 22:35:03
そうですね。配列のインデックス変数を+1するのと同じ意味ですね。
83仕様書無しさん:2006/02/21(火) 22:39:59
ポインタ=配列の添え字
84仕様書無しさん:2006/02/21(火) 22:58:31
>>83
その理解はプログラマとして終わってる
85仕様書無しさん:2006/02/21(火) 23:28:53
>>84
おまえは物事を難しく考えすぎ
86仕様書無しさん:2006/02/22(水) 00:21:23
>>23
どっちもポインタがあるんだけど
87仕様書無しさん:2006/02/22(水) 00:22:35
>>77
Javaにはポインタがあるんだが。
ポインタを操るクラス、インタフェースが
揃った
java.lang.ref.Reference
java.lang.ref.Softerence
などがあるわけだが。
88仕様書無しさん:2006/02/22(水) 02:28:24
>>85
配列のインデックスにポインタは使うな、素直にインデクサ使え
ポインタはもっと別の重要な局面に使う
89仕様書無しさん:2006/02/22(水) 02:34:41
そして NullPointerException 発生
90仕様書無しさん:2006/02/22(水) 03:27:22
>>88
> ポインタはもっと別の重要な局面に使う
おまえの言っていることは抽象過ぎ。具体的なことを何も言っていない。
91仕様書無しさん:2006/02/22(水) 10:55:52
>>90
この程度で抽象的もクソもあるかマなんぞ止めて死ね
92仕様書無しさん:2006/02/22(水) 12:22:41
>>85
難しくと言うかちゃんと考えるとポインタは添え字にもどる
メモリは巨大な配列
93仕様書無しさん:2006/02/22(水) 13:11:47
Cのポインタはビットフィールドを指定できないから糞
94仕様書無しさん:2006/02/22(水) 18:26:43
ポインタはオブジェクト
配列の添え字とは違う
と思う
95仕様書無しさん:2006/02/22(水) 19:12:33
実装的な話をするのか
設計的な話をするのか
意味的な話をするのか
でそれぞれの意見が食い違ってる希ガス
あと、表面的なことしか見えてないのも混ざってるようだけど
96仕様書無しさん:2006/02/22(水) 21:16:02
>>93
>Cのポインタはビットフィールドを指定できないから糞 

???
97仕様書無しさん:2006/02/22(水) 21:55:09
メンバ変数へのポインタを使えばそれっぽいことはできるし、本当の意味でのビットフィールドへのポインタとなると
サイズまちまち、すなわち型が違うからそもそもポイントするというのがナンセンス。
さらにエンディアンに依存するしハード超依存になってしまうよ。
ここまでくると素直にシフト使って切り出せと言いたい、大体ハードウエアとしてビットをポイントするハードなんて普通じゃない。
Cを高級アセンブラとして考えるなら関数にしておくのが実装として美しい。
98仕様書無しさん:2006/02/22(水) 22:54:19
/* ポインタへのポインタは見づらいので俺は嫌い */

void matrix_add(int n, int m, double **a, double **b)
{int i, j;

for(i=0; i<n; i++)
{for(j=0; j<m; j++)
{a[i][j] += b[i][j];
}
}
}
99仕様書無しさん:2006/02/22(水) 23:42:11
ここが噂の、ある程度の知識を揃えた半端の議論会??
100葉猫 ◆Jz.SaKuRaM :2006/02/23(木) 00:04:26
ポインタのポインタはアドレス変更で使うけど、***は非常に迷惑でつ。
構造体にちてくり。
101仕様書無しさん:2006/02/23(木) 00:04:56
はいはい。無能乙。
102仕様書無しさん:2006/02/23(木) 10:27:44
>>94
ポインタとオブジェクトは別物だろ。
ポインタはオブジェクトをさすメモリアドレス。
メモリ空間の中でのオブジェクトの位置を指す数値。
メモリ空間全体を一つの配列と考えるとやっぱり添え字。
103仕様書無しさん:2006/02/23(木) 13:23:21
>>102
>ポインタはオブジェクトをさすメモリアドレス。
というのはCの仕様上、誤り。
104仕様書無しさん:2006/02/24(金) 01:33:41
>>103
あほけ。
ポインタはメモリの中のオブジェクトをさすもので、
式や変数やレジスタ変数には適用できないとK&Rにちゃんと書いてある。
105仕様書無しさん:2006/02/24(金) 11:40:00
>>104
K&R持ち出すか?普通…
ポインタは「実態を参照するための値を持つオブジェクト」。
I/Oを指しているかも知れないし、アドレスではないかも知れない。
106仕様書無しさん:2006/02/24(金) 21:51:17
K&Rって・・・
そりゃC言語でのポインタの定義だろw
107仕様書無しさん:2006/02/24(金) 21:56:57
ボインちゃん
108仕様書無しさん:2006/02/24(金) 22:01:37
だから、参照もポインタだよな。VBにもあるな。
109仕様書無しさん:2006/02/24(金) 22:10:50
>>105
はいはい、いちからやりなおし。
110仕様書無しさん:2006/02/25(土) 00:48:19
無限ループってこわくね?
111仕様書無しさん:2006/02/25(土) 00:53:31
ヌル(・ω・)ポリーン
112仕様書無しさん:2006/02/25(土) 01:02:04
ヌル(・ω・)ポーン
113仕様書無しさん:2006/02/25(土) 09:19:56
ここでしっかりとお勉強してこなければならない奴もいそうだな。

http://pc8.2ch.net/test/read.cgi/tech/1115419223/
C言語のポインタの文法はおかしい
114仕様書無しさん:2006/02/25(土) 10:18:06
>>113
>1-2 で笑わせてもらいました。
115仕様書無しさん:2006/02/25(土) 10:56:59
ム板おそるべし
116仕様書無しさん:2006/02/25(土) 11:38:06
ム板?
マ板では?
117仕様書無しさん:2006/02/25(土) 11:38:45
ここはマ板
>>113のはム板
118仕様書無しさん:2006/02/26(日) 15:18:55
>>114
でも正論だよね。
119仕様書無しさん:2006/02/26(日) 15:46:32
バカ登場
120仕様書無しさん:2006/02/26(日) 16:04:40
↑こういう悪口だけしかいえない奴がいるから、
ますます、正論だってことになる。
121仕様書無しさん:2006/02/26(日) 16:34:02
真性バカ再登場
100回ぐらい声に出して繰り返して>>113を読んでごらん
122仕様書無しさん:2006/02/26(日) 16:38:50
>>121
スレあげただけじゃなんの意見にもならんよ。
せめて該当レスでもださなきゃな。
123仕様書無しさん:2006/02/26(日) 16:44:03
お前>>114読んだのか?
124仕様書無しさん:2006/02/26(日) 16:52:25
>>123
読みましたがなにか?

何か言いたいことがあるのならちゃんといえよ。
人を小ばかにして逃げても、反論にはならないことを自覚せよ。
125仕様書無しさん:2006/02/26(日) 16:59:51
>何か言いたいことがあるのならちゃんといえよ。

>>113のスレの1-2がバカで面白かった。
正論だとか言ってる奴はバカだと思う。
「せめて該当レスでもださなきゃな。」とか言ってる奴はマヌケだと思いました。
「反論にはならないことを自覚せよ。」とか言ってる奴は反論すべき内容なんか書いてないことに気づいていないようだ。
126仕様書無しさん:2006/02/26(日) 17:02:06
>>125
おまいのプログラム読みにくそうだな
127仕様書無しさん:2006/02/26(日) 17:03:56
バカでも読めるように箇条書きにしたからな。
128仕様書無しさん:2006/02/26(日) 17:05:02
a[b] と b[a] と *(a+b) が同じ意味になるってのは有名な話だと思うが、
これを知っていればポインタは配列のインデックスと同等の物だってわかるはずなんだが・・・。
129仕様書無しさん:2006/02/26(日) 17:06:10
>>125
そんなことはどうでもいいから、
バカだと思った理由を書いてくれ。
このままじゃ、おまえがバカとしか思えん。
130仕様書無しさん:2006/02/26(日) 17:07:40
はぁ。バカだなぁ。

ポインタは配列じゃないよ。配列のインデックスだよ。

と読まずにレス。
131仕様書無しさん:2006/02/26(日) 17:07:57
>>129
えー、元スレ読んで面白さが判んない奴に説明しても判んないと思うよ。
132仕様書無しさん:2006/02/26(日) 17:08:53
ほら。またそうやって逃げる。
133仕様書無しさん:2006/02/26(日) 17:09:24
説明しても・・・じゃなくて、説明できないんだろw
134仕様書無しさん:2006/02/26(日) 17:10:07
逃げてるってのは正しいな。
他の優しい奴に相手してもらえ。
135仕様書無しさん:2006/02/26(日) 17:12:51
ここまで付き合っといて、いまさらやさしい奴に相手してもらえだってw

じゃ>>134は >>1-2の勝利宣言ということで。

やさしくないおまえは、もうでてこなくていいよ。
136仕様書無しさん:2006/02/26(日) 17:15:15
晒し上げ
137仕様書無しさん:2006/02/26(日) 17:21:13
>>128
だな。
138仕様書無しさん:2006/02/26(日) 17:28:39
まるで裸の王様だな。
見えない奴がバカなんだと言っているほうが
実は説明できやしないバカだったという落ち。
139仕様書無しさん:2006/02/26(日) 17:32:28
裸の王様の耳はロバの耳〜
140仕様書無しさん:2006/02/26(日) 17:36:12
ごくろうさまです
141仕様書無しさん:2006/02/26(日) 17:38:03
ここは酷いインターネッツだ
142葉猫 ◆Jz.SaKuRaM :2006/02/26(日) 17:38:51
ところでポインタって何ビットなんでつか。(48ビット?)

UNIXとかで int に代入とかちてるけど おかちくね。
143仕様書無しさん:2006/02/26(日) 17:43:05
お前どこまで無知なの?死んだら?
144仕様書無しさん:2006/02/26(日) 17:44:46
クイックソートの使い道すらわからないような無能らしいレスだこと
また恥かきに来たのかしら?
145仕様書無しさん:2006/02/26(日) 17:45:29
ポインタの中身は処理系で異なるので、普通は警告が出る
無理矢理キャストとかしてるでしょ?
146葉猫 ◆Jz.SaKuRaM :2006/02/26(日) 17:46:33
とポインタサイズが32ビット固定だと思っているアホのご面々がやってきますた。。。。。。
147仕様書無しさん:2006/02/26(日) 17:49:05
>>144
なにが言いたいのか、説明不足なんだが、
適当に当たりをつけてレスをすると、
ポインタが無い(参照はある)言語でのクイックソートの実装方法しってる?
ポインタ無いのにどうやって実装できるのか悩むでしょ?w
148仕様書無しさん:2006/02/26(日) 17:49:32
基本的に今更ポインタネタで盛り上がれるのは厨房さんしかいない
149仕様書無しさん:2006/02/26(日) 17:49:56
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
150仕様書無しさん:2006/02/26(日) 17:50:20
>>147
どうやって実装しているかは知っているけど、
それ配列でも実装できるよね?
151仕様書無しさん:2006/02/26(日) 17:50:30
152仕様書無しさん:2006/02/26(日) 17:51:51
>>151
またお前かw
153仕様書無しさん:2006/02/26(日) 17:51:51
>146
当たり前のことを今更?
死んだら?
154仕様書無しさん:2006/02/26(日) 17:52:21
どうやら優しくない奴がまた出てきているようでw
155仕様書無しさん:2006/02/26(日) 17:54:22
キチガイコテに優しくする気は毛頭ねぇな
156仕様書無しさん:2006/02/26(日) 17:59:35
>>154
どうやら優しくない人は複数いるようで
つーかド素人はム板でじゃれてろ
157仕様書無しさん:2006/02/26(日) 18:00:04
むいたん(;´Д`)ハァハァ
158仕様書無しさん:2006/02/26(日) 18:00:53
まいたん(*´Д`)ハァハァ
159仕様書無しさん:2006/02/26(日) 18:10:39
このあたりが素人の限界
160仕様書無しさん:2006/02/26(日) 19:21:45
>>156
よく複数いるとわかるなw
161仕様書無しさん:2006/02/26(日) 22:47:49
こちらのスレにはこういう人と同類はいないよね?・・・。

http://pc8.2ch.net/test/read.cgi/tech/1115419223/752
162仕様書無しさん:2006/02/26(日) 23:17:22
ぽいんた使わなければ出来ないクイックソートってどんなのだろう・・・
そっちの方が悩むよw
163仕様書無しさん:2006/02/26(日) 23:19:25
クイックソートの件はキチガイコテの発言集から来ただけちゃうんか
誰かクイックソートにポインタ要るとか言ったか?
164仕様書無しさん:2006/02/26(日) 23:19:59
厨房の言うこといちいち気にしてたら身が持たんわな
165仕様書無しさん:2006/02/27(月) 00:36:37
C だからポインタを使わなきゃいけない訳じゃないし、
ガベコレとポインタが両立しない訳でもない。
Mac OS 上のC なんかはハンドル(ポインタのポインタ)と
ロック/アンロック機構で安全性を確保しておき、
アドレス直接参照とかハンドルと他の型とのキャストとか
しようとすると、コンパイラが「いいのか? 本当にいいのか?」と
しつこく言ってくるのでワーニングを消そうとすると結構念入りな
記述を強いられた。
ぶっちゃけシステムの底の底の方にアクセスするとか、
異なったアーキテクチャのマシンとデータ共有するとかいった場合は
ポインタが簡単に使えると有難くはあるのだが、普通のアプリケーション
プログラマに軽々にポインタ使わせるのは禁止したほうが(少なくとも
制限したほうが)いいと思われ。
166仕様書無しさん:2006/02/27(月) 01:24:20
ポインタという言葉やめて
ショートカットといえばわかりやすいのにな
167仕様書無しさん:2006/02/27(月) 01:27:11
>>166
ポインタを知らない人が本質無視して勝手に命名しないでね。
168仕様書無しさん:2006/02/27(月) 10:17:05
その結果
リファレンス=参照にかわったがな
169仕様書無しさん:2006/02/27(月) 22:08:38
ポインタがないと、違う言語で書いたものに見えてしまうのって病気?
170仕様書無しさん:2006/02/27(月) 22:31:11
データ構造を決めたら、ポインタで扱う方が楽だよ
171仕様書無しさん:2006/02/27(月) 22:34:24
その理由は?
172葉猫 ◆Jz.SaKuRaM :2006/02/27(月) 22:47:11
スピードさえ拘らなければvectorとかdeque、listみたいなコンテナがいっぱいあるんでつから
アホみたいにポインタ使わなくてもOKでちょ (・∀・)

構造体の再構築は面倒くさいち。
173仕様書無しさん:2006/02/27(月) 22:50:33
また懲りずに無知発言ですか?
174仕様書無しさん:2006/02/27(月) 22:57:15
メンバ変数に直接アクセスされるの嫌い。
175仕様書無しさん:2006/02/27(月) 23:19:32
つ クラス
176仕様書無しさん:2006/02/28(火) 12:42:55
>>173
極Mだからな、そいつ。
177仕様書無しさん:2006/02/28(火) 15:13:42
言葉責めされたいんだな
178仕様書無しさん:2006/02/28(火) 15:14:54
ポイント・マイル
http://hobby7.2ch.net/point/
179仕様書無しさん:2006/02/28(火) 19:03:31
>>174
class Man {
private:
string chinko;
public:
Man() : chinko("8cm") {}
};

int main()
{
Man ore;
string *p = (string *)&ore;

cout << *p;
}

ってこと?
180仕様書無しさん:2006/02/28(火) 20:18:13
自分の半分以下のchinkoサイズを見ると
憐憫の情を禁じ得ない
181仕様書無しさん:2006/02/28(火) 20:29:08
あああああああああああああああああああああああああ!!!!!!!!!

>>179
だからメンバ変数の値がいじられるのか!!
182仕様書無しさん:2006/03/04(土) 16:06:41
183仕様書無しさん:2006/03/04(土) 16:12:25
ポイント・オブ・ロックス
184仕様書無しさん:2006/03/05(日) 16:58:53
ポインタなんざバグの温床だよな。イラネ
185仕様書無しさん:2006/03/05(日) 17:42:45
バグを作るプログラマが悪い
186仕様書無しさん:2006/03/05(日) 17:44:45
>>1に対しての>>2結論言ったw
187仕様書無しさん:2006/03/05(日) 17:46:27
>>15
Cでむりやりつくればいい

めんどくさいがな
188仕様書無しさん:2006/03/05(日) 18:08:19
なんでもかんでも実体で処理しようとするとメモリを消費しがち。
細かな処理をしようとすると必要になるのがポインタ。
189仕様書無しさん:2006/03/06(月) 02:58:32
>>188
参照でいいやんw
190仕様書無しさん:2006/03/06(月) 12:26:37
byte[4] hoge;
ulong *hage = &hoge;
*hage += 5;
という処理をJavaでどう書けばいいのか分かりません_| ̄|○||| マジデス…
煽りなしで誰か教えて下さい。

hoge[0]に5足して桁上がりするかどうか調べて、桁上がりするなら
それをhoge[1]に足して、再び桁上がりするかどうか調べてって方
法を何となく思いついたんですが、どう書いていいのか、他に書き
方はないのか、もう頭パルプンテです。・゚・(ノД`)・゚・。 ヘールプ!
191仕様書無しさん:2006/03/06(月) 12:48:43
言い忘れたですが最終的にbyte[]が必要なんで、byte[]→ulongした場合
は最後にulong→byte[]しないといけないです。
192仕様書無しさん:2006/03/07(火) 20:58:15
>>191
アンパサンドとビットシフトじゃどうにもならんの?
漏れ、頭悪いからそれくらいしか重いつかね。
193仕様書無しさん:2006/03/08(水) 01:29:24
>>190
そのコードはCPU依存。
リトルエンディアンかビッグエンディアンかで
意味が違ってくるわけだが。
そういうコード書かないでくれないか?
194仕様書無しさん:2006/03/08(水) 01:33:31
>>193
それで?Javaではどう書くの?
195仕様書無しさん:2006/03/08(水) 01:46:08
>>194
CPU依存しないコードを書いてみればわかる。
196葉猫 ◆Jz.SaKuRaM :2006/03/08(水) 01:47:33
もう適当に書いとけ

int a=hoge[0]+hoge[1]*0x100+hoge[2]*0x10000+hoge[3]*0x1000000
a+= 5;
hoge[0] = a%0x100;
hoge[1] = (a%0x10000)/0x100;
hoge[2] = (a%0x1000000)/0x10000;
hoge[3] = a/0x1000000;
197仕様書無しさん:2006/03/08(水) 02:00:31
浅知恵ですが、こんなのじゃだめなの?

byte[4] hoge;
String str = new String(hoge);
Long hage = Long.decode(str);
198仕様書無しさん:2006/03/08(水) 02:27:23
また無知コテがアホっぷり晒してらっしゃる
199仕様書無しさん:2006/03/08(水) 03:00:35
アホという方がアホの法則発動?
200仕様書無しさん:2006/03/08(水) 17:05:22
アホという方がアホという方がアホの法則発動?
201仕様書無しさん:2006/03/08(水) 19:05:12
char addValue = 5;
for (int i = 0; i < hoge.length; i++) {
 addValue = (char) (((char)hoge[i] & 0xFF) + addValue);
 hoge[i] = (byte)addValue;
 addValue >>= 8;
 if (addValue == 0) break;
}
タルいけど加算値が小さいならbyte[]→int→byte[]するより
多分この方が速い。

て言うか、元の問題からしておかしくないか?
longが4バイトの処理系もあるのか?
202仕様書無しさん:2006/03/08(水) 21:21:41
>>191
javaで組み込みとかすると、
こういうめんどいことせんといかんの?
203仕様書無しさん:2006/03/08(水) 23:23:39
C#ならunsafeで楽に書けるのにな。
unsafe
{
 fixed (byte* bytePointer = hoge)
 {
  uint* hage = (uint*)bytePointer;
  *hage += 5;
 }
}
204仕様書無しさん:2006/03/08(水) 23:30:02
パット見何がやりたいのかわからんか没
限界までリソース節約するときは旧式ポインタも便利だが・・・
205仕様書無しさん:2006/03/08(水) 23:39:04
>>204
え?どういうこと?てか、「パット見何がやりたいのかわからんか没」
ってのは>>201に対してだよね?
206仕様書無しさん:2006/03/09(木) 10:57:57
>>201
>longが4バイトの処理系もあるのか?
いやおかしいのは君。
207仕様書無しさん:2006/03/09(木) 12:07:31
Cのshort、int、longは処理系依存。
世の中にはlongが1byteの処理系すらあるw
208仕様書無しさん:2006/03/09(木) 12:30:41
>>207
そーゆー規格外れな処理系 (実在するかどうか訊いてもいいか?) を
持ち出してどうしようと?
209仕様書無しさん:2006/03/09(木) 12:52:13
>>208
うろ覚えだが、Z80互換のCPUを搭載した1ボードマイコンKT8013
(8015だったかも?)、コンパイラは富士通製だったと思う。
210仕様書無しさん:2006/03/09(木) 19:20:52
処理系に依存する言語なんて明らかに糞仕様だと思われ。
211仕様書無しさん:2006/03/09(木) 22:07:54
>>203
コードとしては美しいけど遅い。
fixed()が結構な処理時間を食うから、ある程度複雑な処理でないと
パフォーマンス的には負だな。
212仕様書無しさん:2006/03/10(金) 00:47:08
また必死な高卒が暴れてるのか
213仕様書無しさん:2006/03/10(金) 11:08:51
>>210
値の範囲や内部表現が処理系に依存しない言語とは?
214仕様書無しさん:2006/03/10(金) 19:07:34
>>213
Perl
215仕様書無しさん:2006/03/10(金) 19:15:48
金銀Perlプレゼント
216仕様書無しさん:2006/03/10(金) 20:11:44
>>214
「処理系に依存しない」以外のすべてが糞仕様なものを持ち出されても
困りますよう。
217仕様書無しさん:2006/03/11(土) 02:32:55
だがそれがいい。
218仕様書無しさん:2006/03/18(土) 20:29:30
いつまでも上達しない奴には、一度で良いからこうしてやりたい。

(*`3´)・:∴・:∴ペッ
219仕様書無しさん:2006/03/19(日) 21:53:16
LSI-C86試食版がデフォな俺にとって、GUIコンポーネントのプログラミングには関数ポインタが欠かせない訳だが・・・

ああ?俺? プログラマなんかじゃないよ。
今、液晶パネルのコネクタをはんだづけしてる。
CPUはV30コアのやつだ。
220仕様書無しさん:2006/03/21(火) 19:51:57
あー もうクラスとポインタがないとプログラムできねーな
VBなんて、なにこれ?みたいな感じだったし
アセンブラでも勉強するべか
221仕様書無しさん:2006/03/21(火) 20:51:43
Cだけでコーディングするとクラスのありがたみが良く分かる。
CでWin32アプリを書いたあと、C++に切り替えると「ナンジャコレ!」という位簡単に思える。
222仕様書無しさん:2006/03/23(木) 00:06:10
VB6の
long 4バイト(32Bit)
integer 2バイト

困った経験ありますw
223仕様書無しさん:2006/03/23(木) 07:48:28
Cの
int int32
long int32
困った経験がありますw

つーかなんで同じサイズで名前違いが2つもあるねん
昔はintと言えばint16だとすぐに連想できたんだがな('A`)
224仕様書無しさん:2006/03/23(木) 23:23:49
じゃあ、全部 BYTE* 型でアクセスするかw
225仕様書無しさん:2006/03/23(木) 23:35:47
>>223
int型だけ環境依存だからね。嫌ならint型だけは使わないって選択もあるよ。
226仕様書無しさん:2006/03/24(金) 12:10:27
short <= int <= longだから環境依存が激しいし。
マクロでCHAR・WORD・DWORDあたりににしておいた方がいいと思われ。
227仕様書無しさん:2006/03/24(金) 12:41:34
>>226
64bit環境だと、
long = 4byte
int = 8byte
になるのでは
228仕様書無しさん:2006/03/24(金) 13:00:59
>>227
規格をあたれ無能
229仕様書無しさん:2006/03/24(金) 19:45:24
ローカル
230仕様書無しさん:2006/03/27(月) 10:26:08
インディアンの都市

ポイント・オブ・ロックス
231仕様書無しさん:2006/04/09(日) 08:52:49
レベルの差がすさまじいスレだな。ここは。
232仕様書無しさん:2006/04/09(日) 23:20:45
>>223
どうしてもというならGCCで
#define long long long
と定義しとけばintとの使い分けができるが。
まぁ、標準関数にポインタ渡す時に困るだろうな。
233仕様書無しさん:2006/04/09(日) 23:56:26
もう、既出かも知れんがポインタ無しでどうやって絶対番地を指すつもりなんだろうか。まさか、VRAM等を知らん分けは無かろう。
234仕様書無しさん:2006/04/10(月) 01:44:44
ポインタ演算最高
できるだけ早く動くものをつくれ、移植性など気にするな(Cの精神、だっけ?)
235仕様書無しさん:2006/04/10(月) 01:53:03
>>233
ヒント:リンカ
236仕様書無しさん:2006/04/10(月) 09:42:51
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
237仕様書無しさん:2006/04/13(木) 06:16:39
>>235
peekとpokeだお
238仕様書無しさん:2006/04/13(木) 19:32:04
いまどきVRAMにアドレス指定で直接書き込むことなんて
めったにないだろ。
239ダマレゴゾウ ◆KGRPbmh5.Q :2006/04/13(木) 20:04:46
       おっぱい! おっぱい!
    おっぱい おっぱい! おっぱい!
  おっぱい! ∩   ∩ ノ)   おっぱい!
 おっぱい!  川 ∩ 川彡'三つ  おっぱい!
おっぱい! ⊂ミ∩∧η∧∩彡⊃    おっぱい!
おっぱい!⊂三ミ (,,・Д・)彡三彡三⊃ おっぱい!
おっぱい! ⊂彡川⊂彡川ミ⊃    おっぱい!<ポインタ=乳首
おっぱい!⊂彡川∪⊃ U川彡⊃   おっぱい! ポインタ=クリトリス
 おっぱい! (ノ ∪  川 ∪ミ)  おっぱい! これがポインタ濡れ濡れのエロスだぞ!
  おっぱい!      ∪     おっぱい!
    おっぱい! おっぱい! おっぱい!
        おっぱい! おっぱい!
240仕様書無しさん:2006/04/13(木) 20:32:13
>>298
VRAMは単なる例だろ。
今時、携帯電話やらデジタル家電なんかの規模でアセンブラだとキツイだろ。
だから、C/C++でポインタ直下打ちするこたぁ結構あんだよ。
241仕様書無しさん:2006/04/13(木) 20:34:37
すまん…。
>>298=>>238
242仕様書無しさん:2006/04/13(木) 20:57:45
>239
氏ね
243仕様書無しさん:2006/04/13(木) 21:19:04
>>240
Javaでファイナルファンタジーが動いているこの時代に?
244仕様書無しさん:2006/04/13(木) 21:24:05
>>243
せめてファイナルファンタジー7ぐらいは作ってくれんか?
245葉猫 ◆Jz.SaKuRaM :2006/04/13(木) 21:27:26
だがファイナルファンタジーはスーファミ版が一番面白い。
246仕様書無しさん:2006/04/13(木) 21:39:55
>>243
面白かったか?それは良かった。
で、それとコレとが何の関係があるんだね?
アプリなんざVBでもできる。
それから、その下のVM、OS、BIOS、ファーム、デバドラ…。日々進歩を求められるこれ等も直打ちが必要だが?
247仕様書無しさん:2006/04/13(木) 21:40:07
誰も屑の感想なんか聞いてねぇよ
空気読め屑
248仕様書無しさん:2006/04/14(金) 09:07:33
実はな、ここはゴミ箱なんだよ、
でさ、>>247 お前自分のことゴミじゃないと思ってやしないか?
ああそうだ、お前に言われる前に言っておく、

実 は 俺 は ゴ ミ な ん だ よ
249仕様書無しさん:2006/04/14(金) 11:35:54
糞コテに言ってるんだと思うよ
250仕様書無しさん:2006/04/14(金) 11:40:31
>>240
「単なる例」で VRAM 持ち出す辺り、加齢臭がします。
I/O とか言っとけ >>233
251246:2006/04/14(金) 21:27:02
>>249
正直どうでもいいんだが、
>>248は他人。
252仕様書無しさん:2006/04/15(土) 06:00:36
>>249
なるほど、勘違いスマソ
253仕様書無しさん:2006/04/15(土) 18:02:34
静かだな。まぁJava厨なんてその程度か。
254仕様書無しさん:2006/04/17(月) 22:22:50
戻り値としてポインタ指定しないとエラーで絶対コンパイル出来ない時はしょーがなく&使ってるぐらい。
アドレス指定すると後はAPIがうまい事値を仕込んでくれるんだなあと
そんな程度の認識れす。内部でどんな動作してるかはしらん
255仕様書無しさん:2006/04/17(月) 23:11:49

  無能! m9(`A') ズビシッ
256仕様書無しさん:2006/04/18(火) 09:47:59
>>255
そうだなあーwコキ使われたくないんで働きたくねえよ
寝てても金が入ってくる仕事キボンヌ
257仕様書無しさん:2006/04/18(火) 18:17:27
>>256
治験
258仕様書無しさん:2006/04/22(土) 21:06:13
命が出て行きそうだがなw
259葉猫 ◆Jz.SaKuRaM :2006/04/28(金) 21:46:53
今日、malloc、freeを使ってたcソースをコンテナクラス使用に置き換えてみた。
ウンコポインタを無くちたお蔭でソースが少しだけ見やすくなった (・∀・)



でもまだ1ツールだけな il||li _| ̄|○ il||li
260仕様書無しさん:2006/04/29(土) 01:28:15
手際の悪さ自慢ですか?
流石アホコテ
261仕様書無しさん:2006/05/07(日) 18:09:36
{{{{{{$$ポインタが欲しい$$}}}}}}
http://bubble4.2ch.net/test/read.cgi/rsfx/1138871473/
262仕様書無しさん:2006/05/07(日) 18:45:40
>>259
多分、その仕事、
70% 位やったあたりで、
もっと良い方法が見つかると思う。
263仕様書無しさん:2006/05/28(日) 08:32:45
何年やってもポインタをまともに使えない奴って
なしてクビにならないの?
264仕様書無しさん:2006/05/28(日) 09:37:52
ポインタ使うと速い
265仕様書無しさん:2006/05/28(日) 23:25:15
ずっとキーボード打ってて
脳が呆けた頃に なんかやらかす、こともある
266仕様書無しさん:2006/06/05(月) 11:48:08
// 楽しい花火大会の日です。盛り上げましょう
a* * *b
*a **b
**a *b
**a * b*
267仕様書無しさん:2006/06/05(月) 11:52:40

a* * *b**b**b**a ***b**a ***a**a**b**a ***a * b*
*b**a ***a*a* * *b**b**b**a ***a**b**a **a * b*

a* * *b**b**b**a ***b**a ***a**a**b**a ***a * b*
*b**a ***a*a* * *b**b**b**a **
a* * *b**b**b**a ***b**a ***a**a**b**a ***a * b*
*b**a ***a*a* * *b**b**b**a **
268デフラグさん ◆mRgSYalFkQ :2006/06/05(月) 17:25:12

  [゚д゚] デフラグガカンリョウシマシタ
 /[_]ヽ
  | |
*********************************************************************************************
*******************************************************************//aaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb。いうげししすでのまょり火花会楽上盛大日
269仕様書無しさん:2006/06/05(月) 22:20:54
ポインタ使って花火大会のコードを仕事上にしてしまうのはマジで
やらないで欲しい。趣味の領域なら良いと思うが。
270仕様書無しさん:2006/06/06(火) 03:16:16
a.b.c.d

みたいな複雑な構造体をガンガン使う場合

p=&a.b.c

としておいて

p->d
p->e

みたいな書き方をよくする。
271仕様書無しさん:2006/06/06(火) 09:01:07
>>270
ヒント:最適化
272仕様書無しさん:2006/06/06(火) 09:56:27
>>271
別に速度アップ目指してる訳じゃねーんだけど?
273仕様書無しさん:2006/06/06(火) 11:24:02
ヒント言いたいだけのヒント厨はスルーしとけ
274仕様書無しさん:2006/06/06(火) 15:55:35
>>270
そのような状況は論理構造とデータ構造の不整合を意味しているぞw
275仕様書無しさん:2006/06/06(火) 16:16:26
どうでもいいが、高速化以外の目的で>>270みたいな書き方するのはどうかと思うよ。
別に a.b.c.d = a.b.c.c; とか書けば良いじゃん。コード書く時間が短縮とか思ってんのかな?
エディタに置換とか付いてるの知らないのかな?
276仕様書無しさん:2006/06/06(火) 16:36:07
そうとも限らないんじゃないの。
単に名前付けのために階層きられてるんだったらフル修飾のほうが好みだけど、
階層毎に意味付けされている場合だったら個別に切り出しても違和感ないかな。
277仕様書無しさん:2006/06/06(火) 16:57:30
それって設計ミス?
つうか、きちんとクラス分けしてりゃ、そんな深いデータ構造なんか扱わないからねぇ。
278仕様書無しさん:2006/06/06(火) 17:02:40
主にこんな使い方。

p=&a.b.c[n];

んで、各タグ名称がなげーのでコードを見易くするのが目的。

構造体3階層くらい普通に使うけどな。ってC++じゃないのでごめんね。
279仕様書無しさん:2006/06/06(火) 18:35:16
>>278
俺もたまにやる。VB だと With に近い用法。
まあ極力似非クラスに分割するようにしてるんで
出番はあまりないんだが。
280仕様書無しさん:2006/06/10(土) 01:19:08
ポインタの作り方教えてください
281仕様書無しさん:2006/06/10(土) 09:57:06
ポインタはなるべく使わないようにするべき。バグの温床になる。
あくまで最終手段だと認識して使え。
282仕様書無しさん:2006/06/10(土) 10:16:38
なるべくポインタ使いたくないという心情は解るけど、
最終手段と言い切るのはちょっと違うと思うんだよね。
unix cで文字列扱う場合char型の配列使ったりするわけで、
そうするとポインタ扱うケースも多々出てくるよ。
283仕様書無しさん:2006/06/10(土) 10:45:09
ポインタであることをあまり表に出さないようなコーディングがいいと思うが。
ポインタ至上主義で見苦しいコード書く奴がいるのが問題。

>>264
今やその話は幻想だ

>>266-267
ワラタ
284仕様書無しさん:2006/06/10(土) 11:23:33
アセンブラをやれ
285仕様書無しさん:2006/06/10(土) 11:33:19
スレを読まずにカキコ。
このスレの90%の人は参照はポインタの機能限定版でなぜ機能を限定する必要があるのか理解していないはずだ
286仕様書無しさん:2006/06/10(土) 13:06:32
>>285
おまいがどこの誰だかまったく知らずにカキコ
おまいのC言語の理解は10%未満のはずだ。いや、そうに決まってる。
287葉猫 ◆Jz.SaKuRaM :2006/06/10(土) 13:09:54
アホは放置で
288仕様書無しさん:2006/06/10(土) 14:10:25
このスレッドは
  ポインタがプログラミングの一般概念であると思い込む C 初心者
  ポインタと言うと C のそれしか思いつかない C 厨
と、ご覧のスポンサーがお送りします。
289仕様書無しさん:2006/06/10(土) 14:59:55
誰もが認めるアホコテが何かほざいてるんだが
これは自分をスルーしてくれってアピール?
290仕様書無しさん:2006/06/10(土) 16:31:07
>>288
C言語の前身BCPL、B言語のときにポインタがなかったということを聞いたらたぶんファビョるんだろうな
291仕様書無しさん:2006/06/10(土) 16:52:25
>>290
なんでそう思うの?
292仕様書無しさん:2006/06/10(土) 16:56:49
>>291
ポインタという概念が後付の概念だという証拠だからです
293仕様書無しさん:2006/06/10(土) 19:51:59
ポインタってのはそもそも暗黙で使われてたアドレスを
明示的に使うことによって高速化および構造化に利用した物

その一方コーディング面から見た場合コレを使用することによって
直接機械参照を行うためC言語などは高級言語になり切れない低級言語といわざるを得ない
また、直接アドレスを参照するためオーバーフロー等によるメモリ破壊が可能であるなど危険が多かった

そのため現在では参照という形で高速化および構造化を維持しつつ
その扱いに制限をかけ安全に取り扱おうとする手法が主流となっている
また制限の中で隠蔽することにより機械部品を直接意識することなく使えるようになった

だけどここ最近の新人には動作原理も知ろうとしない奴が増えたよな
自分たちの作ったものがどう動くのか知るだけでよりよい方向に進めるはずなんだが・・・
294仕様書無しさん:2006/06/10(土) 21:03:47
>>293
動作原理を知ったりするのにはいいんだけどね
でもOOだとか他にも覚えなきゃいけないことはいっぱいある
C言語だけに引きこもってもらわれても困るよ
295仕様書無しさん:2006/06/11(日) 12:56:05
基礎も教えずにOOを覚えさせようとするわけか。
296仕様書無しさん:2006/06/11(日) 13:10:53
OO教えるのは有意義。
ポインタ教えてもあんまり意味がない。
297仕様書無しさん:2006/06/11(日) 13:18:33
そりゃそうだ
そういう開発環境をつくったからな
298仕様書無しさん:2006/06/11(日) 14:01:03
OO覚える前に構造化覚えてください
299仕様書無しさん:2006/06/11(日) 18:26:53
>>298
いや、俺はOOの歴史・起源として構造化は覚えればいいと思う
だから後回しでもいい
300仕様書無しさん:2006/06/11(日) 20:16:49
そんなふうに表現すると構造化がOOの起源みたいに聞こえる。
構造化の限界が認識されつつある中で、OOPが再発見された
というのが歴史的な事実だろ
301仕様書無しさん:2006/06/11(日) 20:20:08
OOPやってれば、構造化なんて教えるまでもないと思うぞ?
302仕様書無しさん:2006/06/12(月) 07:47:49
>>300
起源というのはおかしいな
OOの前パラダイムとして構造化が存在した。
ただ、OOに構造化の経験の多くが引き継がれたのも事実だと思う
>>301
いちおうC言語が完全に死滅したわけではないからC言語を触る限りは必要だと思う
303仕様書無しさん:2006/06/12(月) 08:11:38
>>298に同意かな。
覚えなくても自然にできる人はできるだろうけど、
メソッド単位の実装が果てしなくタコということがあるからね。
304仕様書無しさん:2006/06/12(月) 12:53:33
>>267
このコードをコンパイルして何が吐き出されるのか、
個人的に興味があるが、恐ろしくて出来ない。
305仕様書無しさん:2006/06/12(月) 15:47:09
そんな柔なOSあるの?
306仕様書無しさん:2006/06/12(月) 19:36:16
>>305
MS-DOS
307仕様書無しさん:2006/06/12(月) 20:36:10
関数ポインタって便利だな。
あと、ポインタの方が処理速いっぽいので使う所存。
そんな私はOSも載ってないような組込みソフト屋さん。
308おじゃばさま:2006/06/12(月) 21:32:20
ポインタを使いこなす必要はないが、「実体」か「参照」かの把握は必要だ。
それはJavaでも同じことだ。
309仕様書無しさん:2006/06/12(月) 21:45:35
>>308
はあぁ?
310仕様書無しさん:2006/06/12(月) 22:43:46
>>308
Java使いならプリミティブという単語を使うはずだが・・・
311組み込み屋:2006/06/13(火) 01:37:07
みんな、Javaとか普通に使える環境なんだね。
うらやますぃな。
Cでソース書いても、アセンブラでデバッグするとか
C++のコンパイラにはバグだらけな環境ですな。

引数の数とかスタックとかが制限されてる環境ではオブジェクト
そのまま渡せないから(スタックあふれる)ポインタは結構つかうねぇ。
ポインタのポインタとかには滅多にしないように気をつけるけどね。
312仕様書無しさん:2006/06/13(火) 06:52:18
>>311
そういう環境がソフト業界全体でどれくらいを占めるか、また今後増えていくのか減っていくのかを考えなければいけない。
日経システム構築なんか見れば分かると思うけどもうすでに現場レベルでJavaの拡張性の高さが認識されちゃっている
すぐにということはないが10年スパンでみればそういう環境が減っていくのは明らかだよね

既にシステムが動いちゃっているCOBOLなんかはなかなかやめられないけどそういった環境は移り変わりも早いと思う
313仕様書無しさん:2006/06/13(火) 11:47:47
>>311
>C++のコンパイラにはバグだらけな環境ですな。
愚痴かいな。
>オブジェクトそのまま渡せないから
制限の緩い環境だとしても、インスタンスを
現物で渡すようなマネは普通しないもんだが。
314おじゃばさま:2006/06/13(火) 12:29:30
>311
ノートパソコン買って、JDKとEclipseを入れれば誰でも使える。
金が無ければ、中古パソコンにLinuxとJDK入れればいい。
全て無料で揃うJavaの世界へようこそ。
315とりあえず傍観してたひと:2006/06/13(火) 14:26:13
「ポインタ厨糞」→Java等、比較的安全なポインタに慣れきった人
         一般に安全性が高く、メモリ管理もほぼ自動なので楽
         抜け道、裏技が無い分コードの管理もやりやすい
「ポインタマンセー」→C/C++等、メモリ管理の何たるかを理解する人
         ポインタ自体は非常に危険で、メモリ管理も基本は手動
         しかし、工夫次第では、非常に便利な為、開発速度、実行効率は一段上。
         ただし、工夫を凝らす→裏技等が増えるため、
         腕が悪いとコードがスパゲティ化する。

加えていえば、後者の人はほぼ全ての場合前者の言語も使える。
実際に使う使わないは置いといて、先ずは勉強汁Java厨。
かくいう漏れはJava→C++→C#
316巻き込んでみるひと:2006/06/13(火) 14:32:46
>>315
>Java等、比較的安全なポインタに
莫迦じゃね?
317仕様書無しさん:2006/06/13(火) 14:38:54
>>316
何処がどう莫迦なのか説明plz
まさか説明できないのに言ってるワケじゃぁないよな?
318仕様書無しさん:2006/06/13(火) 15:04:44
Java厨クォリティかも知れませんぜ
319仕様書無しさん:2006/06/13(火) 16:33:50
>>317
一般的な概念としての「ポインタ」という用語がない以上、
(その多くは、所謂「参照」の特殊形だが)
言語仕様にポインタのない Java を例に出すのは誤り。
まして、安全もクソもない。
320仕様書無しさん:2006/06/13(火) 17:51:51
んじゃ適時「直アドレス」に読み替えるのがよいかと
321仕様書無しさん:2006/06/13(火) 23:59:38
>>315
C/C++、C#、Java全部使えるがポインタの危険性を訴えている俺はどうなるんですか?
322仕様書無しさん:2006/06/14(水) 06:57:21
>>315
というか考え方が甘い。別にポインタを排除しようという考え方はOO以外にも関数型言語の世界にもある。
というかむしろ関数型のほうがバグに対する考え方はがちがちなので
大学できっちりと関数型まで勉強してたらその3言語を知っていてもC/C++には批判的になる。
323仕様書無しさん:2006/06/14(水) 22:41:14
絶滅するわけじゃないさ
アセンブラだってまだまだ生きているじゃないか
324仕様書無しさん:2006/06/14(水) 22:44:17
>>323
アセンブラが死ぬ訳ねえだろw
325仕様書無しさん:2006/06/15(木) 07:29:06
>>323
死滅するわけではない。ただしニッチになることは確実。
まず真っ先に失われるのは携帯市場、次がゲーム市場だろう。
326仕様書無しさん:2006/06/15(木) 08:39:25
ゲーム市場でまだアセンブラ使う機会があるのか?
327仕様書無しさん:2006/06/15(木) 12:40:09
現存するコンシュマー機は全部C
ただPSなんかはかなり専用に拡張されてるが
328仕様書無しさん:2006/06/15(木) 20:55:11
>>327
いや、今度の新機種で打ち止めだと思うんですよ。
SPECからしてPS3なんかは過剰だからCPUパワーを気にする必要がなくなる
現状でもPCだと処理速度はGPU次第でCPUパワーが飽和しちゃっているからね

それより先にC言語盛衰の天王山として携帯のJava vs BREWがあるけどね
329仕様書無しさん:2006/06/15(木) 23:32:33
>>328
携帯が天王山な訳が無い
330仕様書無しさん:2006/06/16(金) 01:49:47
配列とか構造体とかオブジェクトとははポインタを知って理解が深まったよ。
ああ、ホントに値ってメモリ上にあるんだねってさ
331仕様書無しさん:2006/06/16(金) 06:20:53
>>328
今言われているBREWの欠点はほぼ全てがC言語の言語仕様から来るものだが?
これほど純粋に言語仕様の差が出る勝負もないぞ
332331:2006/06/16(金) 06:21:50
×328
○329
333仕様書無しさん:2006/06/16(金) 06:42:43
>>331
OSもCPUも違う。各メーカでポーティング方法も違う。各キャリアの施策も違う。どこがいい勝負なんだか。
それに、Brewの盛衰とC言語の盛衰は関係ない。ポインタの必要性の議論にはなっていない。
334仕様書無しさん:2006/06/16(金) 07:12:17
>>333
それだけ違っていても言語の基本仕様の違いを隠し通せなかった。それが重要
そしてそれがC言語の今後を占う重要なターニングポイントになる

で、C言語の言語仕様のかなり重要な位置を占めているのがポインタなんだよね
全てではないがかなりウェイトが大きい
335仕様書無しさん:2006/06/16(金) 09:09:48
>>334どういう意味で隠し通すを使ってるの?
どっちの言語仕様も開示されてるジャマイカ
336仕様書無しさん:2006/06/16(金) 11:06:07
BREWの問題は言語以前の問題だと思うが
337仕様書無しさん:2006/06/16(金) 12:45:14
BREWはQualcommによる糞仕様と各電話機メーカによる糞機種依存と
KDDIによる糞運用、それぞれ一個だけならまだ耐えられるかもしれないものが
三つ合わさることにより絶妙な腐臭を漂わせている。
338仕様書無しさん:2006/06/16(金) 16:32:12
Cで書く場合、みんな移植性をどこまで気にする?
339葉猫 ◆Jz.SaKuRaM :2006/06/16(金) 20:52:17
なにも考えず文字列の処理でアドレスの引き算の値を int に代入ちていまつが
340仕様書無しさん:2006/06/16(金) 21:01:22
エンディアン変換だけ注意する。
341あぼーん:あぼーん
あぼーん
342仕様書無しさん:2006/06/17(土) 00:33:11
こういうスレがここまで延びてるとはw
最近はマイナーな石のプアなCコンパイラを触る奴も少ないんだろうなぁ。
343仕様書無しさん:2006/06/17(土) 01:44:20
移植性って......
それを意識しなければ移植性が高くならないというのは
プログラミングに問題有りといわれても仕方のないことだと思うぞ

344仕様書無しさん:2006/06/22(木) 23:18:37
なにこのLSIC-86のバグ

「 関数へのnearポインタをfarポインタにキャストすると、CSレジスタのかわりにDSレジスタを使ってしまう場合があります。」

ラージモデルで関数ポインタ使えないと関数のオーバーロード出来ないじゃん。
なんでGUIアプリがクラッシュするか分かんねーとおもたが。

・・・・・死ね
345仕様書無しさん:2006/06/22(木) 23:31:39
LSIC-86なつかし
346仕様書無しさん:2006/06/22(木) 23:43:13
移植性なんか考えるより、分かりやすいプログラムをこころがけよ
347344:2006/06/23(金) 04:00:11
たまに16ビットアプリ作るとこれだ、インテルアーキテクチャうんこだなorz
結局関数ポインタのオーバーロード部分は全部汗になった。

300回位死んでくれ、もう移植性なんぞかけらもない(泣
348仕様書無しさん:2006/06/23(金) 05:18:33
JAVAなんて死滅すればいいのに(´・ω・`)
349仕様書無しさん:2006/06/23(金) 15:40:13
オーバーロード部分を汗で作った共通ルーチンで呼ぶだけじゃないの?
350仕様書無しさん:2006/06/23(金) 20:12:48
プラグイン/プラグアウトなんてOSにまかせろよ
ってDOSじゃ無理か
351仕様書無しさん:2006/06/24(土) 01:15:44
>>344
farに統一できない理由でもあんの?
352仕様書無しさん:2006/06/24(土) 01:23:30
ふぁーね?さぁーね?ふぁーね?
353仕様書無しさん:2006/06/24(土) 19:57:38
試食犯で回天だよきっと
354仕様書無しさん:2006/07/29(土) 17:08:22
ポインタについての結論はどうなった?
355仕様書無しさん:2006/07/29(土) 22:14:48
何年やってもポインタの使い方がマスターできない奴がいるという
のが結論?
356仕様書無しさん:2006/07/30(日) 02:01:47
別にオブジェクト指向なら
できない人はやんなくてもいいよ 必要なら誰かがオブラートにくるんで使わせればいい
357葉猫 ◆Jz.SaKuRaM :2006/07/30(日) 11:00:47
コンテナクラスを使えば文字列操作も構造体の拡張もポインタを使わなくてすむでちょ。
358仕様書無しさん:2006/07/30(日) 13:45:30
で?
359仕様書無しさん:2006/07/30(日) 22:15:12
ポインタ使えない奴って「産業廃棄物」と表現するとマズイの?
360仕様書無しさん:2006/08/01(火) 21:56:43
クラスってのがそもそもポインタのラッパーだからな・・・
361仕様書無しさん:2006/08/02(水) 10:23:07
>>360
お前もう荷物まとめて帰れ。
362仕様書無しさん:2006/08/12(土) 22:43:13
http://pc8.2ch.net/test/read.cgi/tech/1100537740/l50
1000 1001 1110 1111 1001 1000 0110 0010
363仕様書無しさん:2006/08/13(日) 08:05:34
>>359
はいはい ポインタ厨 ポインタ厨
364仕様書無しさん:2006/08/13(日) 08:07:16
>>363
そういうおまいは使いこなせるのか?
365仕様書無しさん:2006/08/13(日) 08:12:33
まあ、ポインタイラネとか言っても、C言語で書くときは使えなきゃ話になんないだろ。
いやなら自分で言語処理系作って世界中に布教しろよ。
366仕様書無しさん:2006/08/13(日) 12:33:13
>>365
前半同意、後半は…プログラム初心者みたいな臭いがしてひいた。
367仕様書無しさん:2006/08/24(木) 05:54:29
なんでJavaのプログラムをC(それもDOS用)に移植すると速くなるんだ?
メモリ使用量は一桁違うし
368葉猫 ◆Jz.SaKuRaM :2006/08/24(木) 09:28:54
DOSを使ったほうが遅いって考えるほうがどうかちてるでちょ。。。。。。。。。。。。。。。。
369仕様書無しさん:2006/08/25(金) 20:30:38
ファビョーン
370仕様書無しさん:2006/08/25(金) 21:42:25
ファビョーン
371仕様書無しさん:2006/09/06(水) 09:00:42
DOSに移植するなんていう仕事。まだ残っていたのか。
372仕様書無しさん:2006/09/08(金) 06:51:52
ポインタ使えなんだら、メモリマップドI/Oどうやって制御するんよ。
373仕様書無しさん:2006/09/08(金) 12:32:10
>>372
言語や処理系によるが
  ・コンパイラディレクティブ
  ・リンカオプション
いくらでも手はある。
374仕様書無しさん:2006/09/09(土) 21:23:23
ヒント:ライブラリ化
375仕様書無しさん:2006/10/29(日) 23:06:48
ttp://homepage3.nifty.com/mogami/diary/d0610.html#26t1
> ...
> だからユーザからはポインタの自由を取り上げるべきだ。
376仕様書無しさん:2006/11/02(木) 21:59:38
377仕様書無しさん:2006/11/22(水) 15:18:39
>高速な実行と高い堅牢性を要求されるシステム → C/C++

高い堅牢性を要求される用途にC/C++だぁ?バカだろ、これ書いた椰子
378仕様書無しさん:2006/11/22(水) 16:12:30
>>377
とうしろーはすっこんでろ
379仕様書無しさん:2006/11/22(水) 18:41:33
アクセス違反とか例外エラーとか出しまくって、他にまで迷惑かける
クソなものが多いからな、C/C++製は。
380仕様書無しさん:2006/11/22(水) 21:09:33
他に迷惑をかけるほど酷いプログラム&プログラマなのか
381仕様書無しさん:2006/11/22(水) 22:24:59
>>379
それは、プログラマが糞だろ。


って言いたいところだけど、実際、これ程バッファオーバーフロー脆弱性が多いとなぁ。
382仕様書無しさん:2006/11/23(木) 02:13:27
D言語(笑)
383仕様書無しさん:2006/11/23(木) 03:24:02
気をつけたって、出るからね
確実に
384葉猫 ◆Jz.SaKuRaM :2006/11/24(金) 11:37:27
STLのお陰で最近はnewとかdeleteしないち、もう出ないでちょ。
385仕様書無しさん:2006/11/24(金) 11:44:38
お前は自分の存在を delete しろ
386仕様書無しさん:2006/11/24(金) 14:11:00
>>381
>これ程バッファオーバーフロー脆弱性が多いとなぁ。
それも結局、コード書いた奴が糞だからだろうに。
387仕様書無しさん:2006/11/25(土) 00:37:24
そういうものを作りこみやすいかどうか、言語や開発環境がカバー
してくれるかどうか、そのあたりがポイント。
388仕様書無しさん:2006/11/28(火) 17:31:49
んじゃ、VB.NETが最適解で。
389仕様書無しさん:2006/12/14(木) 01:20:45
ポインタがいらないって……
javaやrubyはポインタがないんじゃなくて、全部ポインタなんだよ。
参照型とかなんとか言ってるが、ありゃあポインタだ。
390仕様書無しさん:2006/12/14(木) 01:34:09
( ´∀`)<Null Pointer Exception
391仕様書無しさん:2007/01/11(木) 14:03:41
>>390
ガッ!!
392仕様書無しさん:2007/01/31(水) 08:49:07
*bug * *mybug

393仕様書無しさん:2007/01/31(水) 11:20:58
NullReferenceExpection
394仕様書無しさん:2007/02/02(金) 22:40:11
※いしのなかにいる!※
395仕様書無しさん:2007/03/02(金) 00:33:58
>>376
これ書いた奴Java厨だろ。
396仕様書無しさん:2007/03/02(金) 12:15:32
>>376
こいつ頭かたくね?
397仕様書無しさん:2007/03/02(金) 15:44:52
ポインタ厨ってどんなやつだよw
398仕様書無しさん:2007/03/02(金) 20:09:11
C使うならポインタ使わないと
399どーせ立て逃げなんだろうけど:2007/03/02(金) 22:54:36
ノートPCにタッチパッドなんかいらねえぜ!マウスでいいじゃん!
(という理由で)タッチパッドは糞!

なーんてことを言う様な、物事を表面的にしか理解できない頭の構造の奴なんだろうな・・・・・・>>1
400仕様書無しさん:2007/03/03(土) 15:50:28
(Cの)ポインタの何がいいって、「無効」や「未初期化」を別の変数を使わないで表現できるのが便利。


あ、Javaの参照型もnullとか使えるんだっけ?
やっぱポインタはステキねん。
401仕様書無しさん:2007/03/03(土) 19:53:21
呼びましたか?フフフフフフフフフフフフフ
402仕様書無しさん:2007/03/03(土) 20:35:20
呼んでないから帰っていいよフフフフフフフフ
403仕様書無しさん:2007/03/03(土) 22:03:23
文字列初期化しろよフフフフフフフフフフフフフフフフフフフフフフ
404仕様書無しさん:2007/03/03(土) 23:43:20
ここもフフフフスレに・・・フフフフフ
405仕様書無しさん:2007/05/28(月) 11:17:47
現場* * *上司
*バグ *部下 *
406仕様書無しさん:2007/05/29(火) 04:30:28
構造体のポインタのポインタをインクリメントしたアドレスを
構造体の自分参照用にとっておいてだな
その先のポインタを間接参照で次の構造体を取り出して
そこにある関数ポインタをさらに別の構造体のポインタに格納して
そのポインタをNewしてッガ!するとバグができあがるのは何故??
407仕様書無しさん:2007/05/29(火) 05:46:37
>>406
アクセス権違反。
struct A { void (*F)(); };
A **ppR, **ppA = new A*[3];
delete[] new A(*(*(ppA+2)=reinterpret_cast<A*>(&(A&)(*(*(ppR=ppA+1))).F)));
408仕様書無しさん:2007/05/29(火) 09:00:49
一生懸命複雑そうに語ってるけど
>インクリメントした
って、配列でもないポインタをインクリメントしちゃあダメだろ
409仕様書無しさん:2007/06/04(月) 00:53:41
VB.NETはポインタあるだろ
フレームワークの側に
410仕様書無しさん:2007/06/06(水) 23:03:25
>>174
それってクラスの最初がstring chinko;のアドレスな保障ってあるの?
411仕様書無しさん:2007/07/11(水) 07:28:06
アセンブラ先にやった漏れからすればポインタなんてただのアドレス指定
412仕様書無しさん:2007/07/11(水) 16:29:07
上に同じ
413仕様書無しさん:2007/07/12(木) 00:55:41
ポインタを理解できん
ってヤシは所詮PGには向いてないのよ
せいぜいセールスエンジニアでホラ吹くのがお似合いだ
414仕様書無しさん:2007/07/13(金) 01:58:53
メジャーな中では最も抽象化が進んでいるjavaやC#やVB.NETを使うにしても概念的には知っていたほうが良いからな
さらに抽象になったら要らなくなるのかも知れん。あくまで、その抽象な言語を使っている限りは。
415仕様書無しさん:2007/08/11(土) 10:01:20
int a, *p, **pp ;
416仕様書無しさん:2007/08/11(土) 11:14:03
何でこんなレベル低すぎるスレがつづいてるんですか?
417仕様書無しさん:2007/08/11(土) 12:29:34
お前のレベルに合わせてるんだよ
418仕様書無しさん:2007/08/11(土) 18:00:20
ポインタって早い話がアドレス計算とアドレス指定だろ?
コンピュータでの基礎じゃん。
419葉猫 ◆Jz.SaKuRaM :2007/08/11(土) 18:38:43
むかちの日本の和算からの伝統で、応用のみ必要で基礎など必要ないのでつ (`・ω・´) シャキーン

オブジェクトが分かればOK
420仕様書無しさん:2007/08/11(土) 19:34:45
>>419 破棄オブジェクトは黙ってGCに回収されてろ
421仕様書無しさん:2007/08/11(土) 21:09:48
なにこのアホコテ
422仕様書無しさん:2007/08/11(土) 21:35:46
>>1ってポインタが理解できなかっただけだよね。
スレを立てて一年以上たってるけど、もうマスターしたのかな?
423仕様書無しさん:2007/08/11(土) 22:57:31
>>422
理解できない人間には、一生理解できない。それがポインタ。
424仕様書無しさん:2007/08/11(土) 23:53:30
>>423
つーか、ポインタ理解できないって、思考能力は絶望的だろ・・・。
425仕様書無しさん:2007/08/12(日) 01:12:13
このスレは
「なんだ、>>1はポインタも理解できないのか。w」
と、駆け出しの下っ端PGでも優越感に浸ることのできる場を
提供するためのスレです。
426仕様書無しさん:2007/08/12(日) 01:30:59
ポインタがどういうものか理解できないっていうのが理解できない。
427仕様書無しさん:2007/08/12(日) 01:51:29
>>426
大学時代いた。
ポインタの有用性がわからないならともかく、ポインタの意味がわからないとか、使い方がわからないってのがリアルにいた。
428仕様書無しさん:2007/08/12(日) 02:15:14
JAVA,C#の参照変数とC++ポインタの大きな違いは
アドレスが隠蔽されたことと
->記号を廃止して.記号に統一されてること
C++のポインタはゴミ
429仕様書無しさん:2007/08/12(日) 02:18:56
>>428
Perlはどう思いますか?
430仕様書無しさん:2007/08/12(日) 02:20:19
Perl使ったことないからシラネ
431仕様書無しさん:2007/08/12(日) 03:12:41
つか、ポインタがわからないって感覚がすでにわからない俺だけどw
ポインタ使わないでインスタンスの管理ってできんのか?
例えば、javaなんかだとインスタンスを1つに絞るのに結構苦労する
ちょっと書き方間違えただけでいらんもんが複製されちまって面倒なんだけど・・・

文字列や領域をあんま意識しないで追加したり削除したりできるけど
裏ではそれをするたびに領域の全確保、開放が行われて
酷いときにはそれで動かなくなっちまう
432仕様書無しさん:2007/08/12(日) 03:18:21
>>431
??よく意味がわからない。
immutableなオブジェクトにするためや、自分のデータオブジェクトを保護するために
裏でライブラリによってcloneされまくって困るってお話?
それとも数度のStringの足し算程度のメモリ消費量を考えるお話?
それともプリミティブ型程度のメモリが気になるお話?
433仕様書無しさん:2007/08/12(日) 03:46:48
>>432
全部ひっくるめて同じ問題だと俺は思うんだけどどうよ?
434仕様書無しさん:2007/08/12(日) 03:57:04
単に裏でcloneされるような便利なオブジェクト使わなければいいだけじゃない?
例えば便利なstringつかわないでchar配列で文字列表現すればC++と同じ土俵で戦えるでしょ
435仕様書無しさん:2007/08/12(日) 03:57:58
ていうか、ポインタ自体理解できれば便利な道具であるはずなのに
ちょっとした手間惜しんで言語仕様意味不明にしすぎなんではないかと・・・

インスタンスとそれを指すものって簡単には理解できんもんだろか?
初心者がぶち当たる壁ってそんなところじゃない気がするんだが・・・
436仕様書無しさん:2007/08/12(日) 04:04:20
>>434
別にできるできないの話をしてるわけじゃなくて
ポインタが誰かにとって難解だと思ってる誰かが便利だと思って作ったもんの大半が
全然便利じゃない上にわけわからんことになってる現状にがっかり・・・
javaってその典型みたいな言語なんだよね
ちょっと失敗してるよなぁ・・・って思う言語
437仕様書無しさん:2007/08/12(日) 04:41:31
test
438仕様書無しさん:2007/08/12(日) 07:04:29
Cとかで開発しなければならないような小規模な組み込みの場合とか、
アセンブラ開発の時にはポインタ(つーかアドレッシング)とか使えないと
厳しいですね。

理解できないよりは理解出来たほうがいいですね。

439仕様書無しさん:2007/08/12(日) 07:20:10
>>438
まてよ
そうじゃないから喧嘩になるんだろ?

例えば、気軽に文字列の領域が+1になるようなコード組んだとして
その文字列が2MBとかその程度だったとしてもどんなに速いCPUだって
すげー遅くなるぞ

これを理解するにはインスタンスとポインタを理解しなければならない
って偉そうに言ったけどめちゃくちゃ簡単なんだけどさ
この程度の問題ってさ、何を作るにも出てくる問題じゃね?
理解できること前提で言語仕様作ったほうがいいと思うんだけど?
440葉猫 ◆Jz.SaKuRaM :2007/08/12(日) 08:22:31
STLの存在知らんかった時に自作の文字列クラス作りまちたが、今考えるとアホなことちたな。。。。。。

機能がショボイ分、スピードは速かったでつが。。。。。。。。。。

アドレス演算とかポインタポインタばっかりだとメンテが出来んち、疲れるからポインタイラネ。
441仕様書無しさん:2007/08/12(日) 08:26:43
>>440
そのSTLだってインスタンス本体の増減を管理させると速度は
糞レベル(アプリの実行に問題になるレベル)だが
ポインタをVectorでもたせれば色んなこと考えなくて済むじゃねーか
442仕様書無しさん:2007/08/12(日) 09:32:03
>>441 だから・破棄オブジェクトを参照するな。
例外出るぞ?
443仕様書無しさん:2007/08/12(日) 09:44:16
>>442
じゃあ、STLのListで内容ポインタで
444仕様書無しさん:2007/08/12(日) 19:12:27
C#のジェネリックと比べたら
C++のSTLなんてゴミだよ?
445仕様書無しさん:2007/08/12(日) 19:20:34
C#がどんなに優れていようとも、M$の物って時点で
ド田舎の方言みたいで、覚える気がないっす。


って人多くないですか?特にM$の仕事を沢山してきた人は・・・
446仕様書無しさん:2007/08/12(日) 19:54:36
むしろJAVAはSUNの物って時点で
ど田舎の方言みたいで、覚える気がしないっす。
447仕様書無しさん:2007/08/12(日) 21:16:46
ごめん。やっぱりSunの方が洗練されていると思う。
448仕様書無しさん:2007/08/12(日) 21:23:50
Eclipse使った後にVS使うとキレそう
449仕様書無しさん:2007/08/12(日) 21:43:49
NetBeansがスキ。
450仕様書無しさん:2007/08/12(日) 21:48:57
EclipseとNetBeansの重さはなんとかならんのか?
つか、なんでこんなただのIDEが強烈に重いの?って
理由はもろに>>439だろ?
451仕様書無しさん:2007/08/12(日) 22:24:44
コマンドラインでの開発へみんなで戻ろう。
452仕様書無しさん:2007/08/15(水) 22:07:54
>>451
時計の針を20年逆戻しにするのか?
453仕様書無しさん:2007/08/15(水) 23:27:49
>>445

といいつつ

つかえるのは

jaば

のみ

C/C++での開発経験はありません・www
454仕様書無しさん:2007/08/16(木) 08:07:29
>>453
文面から考えてC/C++ぐらいやっているだろ。C#が出る前のVCで。
455仕様書無しさん:2007/08/16(木) 09:01:04
書かれている事以上の文脈を汲み取れない人の事を『モヒカン族』と言うらしい。

一見揚げ足取りをして挑発しているようだけど、実は行間を読めてないだけで悪意がないと言うことだ。
456仕様書無しさん:2007/08/16(木) 11:02:44
*a
*(a+1)
*a * *b
a*
457仕様書無しさん:2007/08/16(木) 13:09:54
Javaが分かる奴ならCとかC++とか余裕だろ。
458仕様書無しさん:2007/08/16(木) 13:55:06
Javaしか知らん奴にC/C++は無理だべ
459仕様書無しさん:2007/08/16(木) 14:54:18
C++ っていってもMFCとか絡むと別物じゃないか
460仕様書無しさん:2007/08/16(木) 17:16:55
進化の過程から考えればC>C++>JAVAなんだから難しくはないな。

C#は突然変異で生まれた短命な種族。J#と一緒に永眠してください。
461仕様書無しさん:2007/08/16(木) 17:29:35
>>457
C→C++→Javaは余裕
しかし
逆は必ずしもなりたたない。
462仕様書無しさん:2007/08/16(木) 17:33:00
>>461
そだな。
俺はアセンブラ>C>C++>JAVAだから便利な所を享受できて幸せ。
463仕様書無しさん:2007/08/17(金) 04:56:56
ポインタなんてただのアドレス指定じゃん
漏れの場合アセンブラを先にやったから
なんであれが理解できないのかわからん
464仕様書無しさん:2007/08/17(金) 05:32:42
>>463
想像力のない奴め、教えてやるよ。
それは、ポインタという形にしてアドレスを意識しなくてもプログラミングできるようになったから
C以降にプログラマになった奴はアドレスを意識する必要性に迫られなかったからだ。
覚える必要がないから覚えなかった。だから理解できなかった。そういうことだ。
465仕様書無しさん:2007/08/17(金) 07:38:11
>>464
知識不足なやつめ。教えてやるよ。
C以降っていったら、Cも含まれるわけだが、で、そのCにはアドレス演算子があるぞ。
466仕様書無しさん:2007/08/17(金) 10:50:41
大規模なゲーム開発の大半はまだまだCやC++が主力だよな。
467仕様書無しさん:2007/08/17(金) 20:52:54
>>465
だから君は想像力がないっていってるんだよ。
ああ、アドレス演算子あるよね。
でもアドレス演算子を知らないとCプログラムが組めないのか?
そんなことないだろ。
だから、Cから始めた奴が誰しもアドレスの概念を持っているとは限らないんだよ。

で、次にお前はアドレスの概念を理解できていないととどうにもならない例外を持ち出してくるだろう。
だが、それは所詮例外なのだとあらかじめ言っておこう。
468仕様書無しさん:2007/08/17(金) 21:04:39
>>467
だから「以降」ってかいちゃっただけでしょ?
言葉間違えたって言えばいいのに
そこまで正当化する意味がわからないw
469仕様書無しさん:2007/08/17(金) 21:17:26
>>466
大規模ゲームも今や、コア中のコア部分をC/C++で作れば
あとはそいつに食わせるデータを作るスクリプティングシステムや
オーサリングシステムの仕事が中心。
コア部分をデバイスドライバやOSカーネルと捉えれば、普通の
ソフトウェア階層モデルと大差無いな。
470仕様書無しさん:2007/08/17(金) 21:20:26
>>467
>でもアドレス演算子を知らないとCプログラムが組めないのか?
まあマトモなもんは書けないだろうね。
// 「プログラムを “組む”」と表記する奴のサンプルが増えた。

因みに、マになったのがC以前か以降かなど
  ま っ た く 関 係 な い
471仕様書無しさん:2007/08/17(金) 21:35:18
たとえばscanfってのを入門学習で使うじゃない。(それぐらいしか用途ないけど)
なぜprintfと違って「&」つけるのか、ってのを最初の学習時点ではオマジナイ的にしか捉えられず、
ポインタの概念学んだあとにようやく意味が分かる、ってのがCの基本的な道筋だろう
そういうの経ないのかな
472仕様書無しさん:2007/08/17(金) 21:45:11
間接参照の構文なんて&演算子だろうがaddressof()だろうが別になんでもいいわけですよ
どうせポインタいらないっていってる人も間接参照やコピーのセマンティックは知ってるだろうし
使ってるだろう
473仕様書無しさん:2007/08/17(金) 21:50:37
CやC++はぜひ触れ!
確かに仕事では使わないかもしれない。
しかし!技術者として一皮向けるにはコンピュータの基本を再度学ぶ必要はある。
474仕様書無しさん:2007/08/17(金) 21:56:48
>>467
無理にツッパルのは止めとけ。あんたの知識じゃ余計に傷口を広げるだけだって。
475仕様書無しさん:2007/08/17(金) 21:58:40
CとC++をちゃんと使えて、それでいてJavaやらPerlやらもちゃんと使える人

Javaやら今主流の言語をちゃんと使える人

両者仕事はもちろんできる。

しかし、前者と後者のレベルの差は果てしない。
476仕様書無しさん:2007/08/17(金) 22:03:34
>>475
同意。

アセンブラが出来る奴とCからはじめている奴にも差もあるし、ハードから分かる奴とのも差が激しい。
>>473さんのようにCは業務では使わなくても勉強しておいた方がいいと思う。簡単だしね。
UNIXのソースとか読めると幅が広がるよ。
477仕様書無しさん:2007/08/17(金) 22:07:18
>>475
C、Javaはともかくとして、C++はSTLがまだちゃんと整備されていない頃にやったから、
それでちゃんと使えるって言えるか怪しいのだが、そんな俺でも思う。
そんなに差あるか?簡単だろ。

日本語変数使ってるCOBOLのほうがよっぽど神がかってる。
よく80カラム制限ある中でやれるよな。
478仕様書無しさん:2007/08/17(金) 22:08:35
>>467
自分の非を認められない、性格の悪い人ですね。

アドレス演算子を知らなければ効率的なCプログラムはかけませんよ。
入門書だけしか読んでいないのでしょうか?
479仕様書無しさん:2007/08/17(金) 22:16:29
UNIXのソースってboostやdinkumSTLのソースより量が多くて難しいと聞いたのだが
480仕様書無しさん:2007/08/17(金) 22:19:20
>>479
量は多いけど、すばらしいサンプルだと思うよ。経験有る賢い人達がたたき上げたソースって、
こんなにエレガントなんだぁ・・・って関心する。デザパタ本が出る前はみんなこれで勉強したよ。
481仕様書無しさん:2007/08/17(金) 22:22:54
Cが簡単とか言うが、お前らCコンパイラ作れる?
作れとは言わんが、見当くらいはつく?
482仕様書無しさん:2007/08/17(金) 22:24:19
デザパタ以前ということは10年以上前の話だし
その間にCもC++も進化を遂げてる
となるともう古い情報源なんじゃないかなぁと思ったり(C++なんてまだまともな標準化されてない時代)
同じようなのでもっと新しいスタイルで書かれたソースもあるんじゃないの?
483仕様書無しさん:2007/08/17(金) 22:24:50
>>481
はは 無理に決まってんだろw
484仕様書無しさん:2007/08/17(金) 22:25:27
>>475
比べ方間違えてるぞ。
どっちも出来る人とどっちかしか出来ない人比べて差があるのはアタリマエ。

Cはめっちゃ出来るけどJavaは全く知らない人と、
Cは全然知らないけどJavaでガリガリ書ける人を比べろよ。

どっちかで普通に書ける人なら違う方理解するのも出来ると思うよ。
ポインタを要るって言う人と要らないって言う人は
作ってるプログラムのレイヤが違うわけだから、
意見は平行線だろ。
どっちが上等かなんて比べる意味が無い。


ポインタ要るかどうかについて私見で言うと、
下位レイヤでメモリのアドレス気にしなくていいハードウェアが出てくるまで
ポインタ使うソフトウェア(組込、OS、VMひっくるめて)は必要なわけだから
ポインタが要らなくなることは、まだしばらく無いと思うねぇ。
485仕様書無しさん:2007/08/17(金) 22:27:45
>>481
学校で簡単な奴とか作らなかった?アセンブラのマクロを吐き出すぐらいまで作ったよ。
仕事でもCコンパイラがないターゲットで開発する時とかに同じような物は沢山作ったよ。
最近の最適化の進んだ奴は気合を入れないと無理。あと標準ライブラリとかも時間的に面倒すぎ。
俺はジジイだからわからないけど、最近じゃ学校じゃやらなくなったの?
486仕様書無しさん:2007/08/17(金) 22:29:57
>>482
ソフトウェア作法とか、ソフトウェア書法みたいな感じと思ってくれてもいいよ。
487仕様書無しさん:2007/08/17(金) 22:31:44
>>481
基本的な流れは見当付くか。
C言語はどっちかっていうと水準低めだと思うし、
一番難しいのは構文解析辺りな気がする。

ただまぁ、C言語の基本的な文法、概念と挙動を理解するのが簡単なわけであって、
Cコンパイラの実装が出来るかどうかなんて、何が関係あるんだ?
488仕様書無しさん:2007/08/17(金) 22:33:41
>>487
だな。token周りが面倒。
変数とかはアドレッシングを直に選択できるよなシンボルで逃げるケースが多い。
489仕様書無しさん:2007/08/17(金) 22:34:32
最近のハードは複雑だから直接アセンブリコード吐くような類のものは平均的な学生レベルじゃ無理でしょう
出来てyacc,lex使ったインタープリタ程度
490仕様書無しさん:2007/08/17(金) 22:43:42
>>475
同意

補足すると

「CとC++、Javaを使える人」 と 「Javaを使える人」との『差』

「Javaと他の主流言語を使える人」 と 「Javaを使える人」との『差』

前者と後者の『差』は、相当にかけ離れたものである現実。
491仕様書無しさん:2007/08/17(金) 22:47:54
>>485,487
さすがですね
コンパイラというのは大げさだったかも知れません
ポインタを含めたCの基本概念をアセンブラレベルでイメージでできるか聞きたかったのです
492仕様書無しさん:2007/08/17(金) 22:59:57
>>491
最近じゃ、Cなんて「高級アセンブラ」なんて呼ばれるぐらいだからなぁ。
・・・あんま関係ないか。
493仕様書無しさん:2007/08/17(金) 23:03:19
>>1さんの言う「ポインタ」はC/C++のポインタのことでOK?
だとすると「オブジェクトの参照の配列」ってのは?
C++ではコンパイルエラーだっ。

別の言語持ち出して、ポインタ批判されてもねぇ。
C/C++ならポインタは普通使うでほ。

そもそも、「代用」っていうなら逆の代用もあるんでは?
494仕様書無しさん:2007/08/18(土) 00:12:58
【コミケ】ライアーゲームの同人誌に原作者が激怒 過激な性描写も
http://news21.2ch.net/test/read.cgi/news7/1187103894/
495仕様書無しさん:2007/08/18(土) 11:16:41
ポインタは型の分かりにくさがクソ過ぎる。配列と絡むところとか。
例えば2次の配列を関数に渡すときなんぞ、すげ〜ややこしい。
496仕様書無しさん:2007/08/18(土) 11:29:26
>>495
そりゃ C/C++ の構文がアレな所為であって
ポインタに罪はない。
497仕様書無しさん:2007/08/18(土) 11:34:45
>>496
むしろ、罪なのは使っている人が糞。
498仕様書無しさん:2007/08/18(土) 11:49:37
>>497
それは「Cのポインタすら理解できないやつらが糞」なのか、
「未だにCを使ってるやつらが糞」なのか、どっちなんだ。
499仕様書無しさん:2007/08/18(土) 16:27:47
>>498
前者は成立するが、後者は成立しないだろ。
なぜ文章として成立しないもので択一問題が発生するんだ?
500仕様書無しさん:2007/08/18(土) 19:54:28
>>495
は?先頭アドレスと縦横サイズだけでいいじゃん
501仕様書無しさん:2007/08/18(土) 19:59:30
C++だとaaa[][]で渡してもまともに使えないんだったね そういえば
502仕様書無しさん:2007/08/18(土) 20:02:11
>>501
Cでも [][] じゃ無理なんだが。
503仕様書無しさん:2007/08/18(土) 22:09:54
>>481
コンパイラの作り方がソース付でネットでも転がっているため、
他の題材にしてくれ。
504仕様書無しさん:2007/08/18(土) 23:16:32
コンパイラを作るツールってなかったっけ?
名前忘れたけど、2つくらいのツールを組み合わせてやるのがあったよね。
505仕様書無しさん:2007/08/18(土) 23:20:05
yaccとlexはコンパイラというより構文解析器を作るやつ
506仕様書無しさん:2007/08/18(土) 23:22:03
yacc,lexか?bisonもyacc互換らしい
俺も詳しくはないが。。。

507仕様書無しさん:2007/08/19(日) 07:54:34
>>497
当然、ポインタぐらい理解できない奴が糞
508仕様書無しさん:2007/08/19(日) 07:59:02
>>501
逆にそんなコードが実行できたら、実行速度を疑っちゃうよ。
C/C++を使っている一番大切な所だからねぇ・・・
509仕様書無しさん:2007/08/19(日) 08:03:12
つーか、二次元配列を渡したいならstructでまとめちゃわない?
510仕様書無しさん:2007/08/19(日) 09:00:42
ublasみたいな感じでつかえる行列テンプレートって手もあるな
ポインタ演算の構文を使って扱っても速度面でも大したメリットないし
511仕様書無しさん:2007/08/19(日) 09:05:20
そうすると、その場限りの意味不明な構造体が増えてくるから、
俺は1次元に展開して、列数とともに渡している
512仕様書無しさん:2007/08/19(日) 09:18:34
matrix<int> m(3,3);
m(i,j) = 0;
みたいなインターフェースで扱えたらいいんだけども
Cのプリプロセッサでこれ作ろうとしたら凄いことになるだろうなぁ
513仕様書無しさん:2007/08/19(日) 09:29:08
演算子のオーバーロード
514仕様書無しさん:2007/08/19(日) 11:11:19
>>511
それが一番楽だよな?
先頭アドレス+縦横サイズがすべてだよな
3次、4次・・・ってなっても応用が効くし
515仕様書無しさん:2007/08/19(日) 11:38:29
boost::multi_arrayかそれに似た独自実装使うけどねぇ
ソースの中で直接ポインタを弄くりまわすみたいな泥臭いことなんて
仮にアセンブラ使う場合でもマクロとか使ってできるだけ避けるのに
516仕様書無しさん:2007/08/19(日) 11:39:56
>>514
良し悪しは置いておいて、楽さ加減で言ったらコレだ。

#define X 10
#define Y 20

void func(int array[X][Y]);

int main()
{
int array[X][Y];
func(array);
}
517仕様書無しさん:2007/08/19(日) 11:55:29
>>516
それだと処理するもんが配列の要素と一致してねぇと面倒じゃねぇか

画像処理とかだと
ある地点の周辺4x5の範囲を処理したいとかそんな風にならね?

そうすると配列のデータの4x5の範囲だけほしいってことになるし
処理する関数のほうはどっからとるかなんてのは気にしない状態にしたい

って考えると先頭アドレス+XXXってのは楽でいいと思わね?
518仕様書無しさん:2007/08/19(日) 11:58:34
>>516
その場合、void func(int array[][Y]);とかvoid func(int (*array)[Y]);とかでもOKなんだけど、
void func(int array[][]);やvoid func(int **array);、void func(int *array[Y]);(これは演算子の優先順位の問題か)
はダメなんだよね。この辺が理解しにくい。
まあポインタを完全に理解してる人にとっては何てことないんだろうけど。
519仕様書無しさん:2007/08/19(日) 12:35:22
void func(int x,int y, array[x][y])
520仕様書無しさん:2007/08/19(日) 12:46:07
車輪の再発明
ポインタのようなややこしいものはC++の力を借りないと扱えませんってマジで
template <typename T> class Matrix {
public:
Matrix(size_t in_m, size_t in_n) : m(in_m), n(in_n), data(new T[m*n]) {}
~Matrix() { delete [] data; }
T& operator()(size_t i, size_t j) { return data[i*n+j]; }
const size_t m; const size_t n;
private:
T* data;
};
521仕様書無しさん:2007/08/19(日) 12:59:34
思い出した。
ラスタスキャンでただ値を取り出すだけのために
値ごとにいちいち乗算やってたら時間かかりすぎってことで
クラス化はボツになったんだ。
522仕様書無しさん:2007/08/19(日) 13:11:20
値ごとにいちいち乗算しないようにクラス化すればいいじゃない
523仕様書無しさん:2007/08/19(日) 13:40:09
>>517
すまん。
ちょっと想像しきれてないかも。
行の幅(array[X][Y]のY)を引数で渡す?

func(&array[3][5], Y, 4, 5);
みたいな呼び出し方なんだったら、言いたいことが分かった気がする。

まぁ単に二次元配列を楽に関数に渡す方法を書いただけなんだ。
楽に、っていうか頭使わずにというか。
呼び出し元の宣言と同じように仮引数の宣言したら良いだけなんで。

なんかこの辺の「楽」の捉え方の違いで差が出てるっぽいような。
524仕様書無しさん:2007/08/19(日) 14:26:54
とっとと言語を変えろ
それで悩みは万事解決
525仕様書無しさん:2007/08/19(日) 18:43:04
C++は、スマートじゃ無いなりにいろいろ定型の手法があって「あぁ、例のコレね」で済むならいいけど
ポインタ苦手、って言っちゃうような層は余計アレルギーでるんだろうな
526仕様書無しさん:2007/08/21(火) 00:48:18
オレの大嫌いな言葉:
"ポインタのポインタ"
527仕様書無しさん:2007/08/21(火) 00:53:52
俺はどっちか言うと「メモリリーク」の方が嫌いな言葉。
528仕様書無しさん:2007/08/21(火) 00:54:40
間接ポインタ、二重ポインタ、ダブルポインタ、ハンドル……
代替語はいくつかあるけど、どうも明解に通じないので
やっぱり「ポインタのポインタ」になってしまう。
529仕様書無しさん:2007/08/21(火) 01:05:09
多重間接参照
530仕様書無しさん:2007/08/21(火) 05:32:26
>>527
俺、それVC無しでとれたためしないw
みんな他の環境でどうやってとってんだろ?w

多分、起きてないはず・・・?以上の確証ないw
531仕様書無しさん:2007/08/21(火) 05:51:18
1日1回電源を落とすと分かっているので、メモリーリークしても1日持てばそれでいい。
リセットするわけにいかないシステム組んでる人は大変だなぁ
532仕様書無しさん:2007/08/21(火) 06:36:05
>>530
gnuの動的解析ツール使って検証したことあるわ。
ツール名忘れた。

>>531
malloc禁止の開発もあったりする。
PCでは1回ぐらいしかしたこと無いけど、
組み込み系だと結構しょっちゅう。
フラグメントの問題もあるしな。
533仕様書無しさん:2007/08/21(火) 12:22:05
専用のカスタムアロケータでも使うんじゃないのかな
534仕様書無しさん:2007/08/22(水) 01:22:58
>>531
うちだと要件が1日なら、連続不可耐久テストを1週間ぐらい回すかな
535仕様書無しさん:2007/08/22(水) 05:40:46
>>534
開発もテストもルール化されていないうちの会社では
すべて開発者のフィーリングで決まる。
少なくとも1週間連続運転なんてやる奴はいねぇ
536仕様書無しさん:2007/08/22(水) 08:09:40
テスト用のデータは作らんのか?
537仕様書無しさん:2007/08/22(水) 08:12:27
>>528
(hogeへの)ポインタへのポインタも使う俺。
538仕様書無しさん:2007/08/22(水) 19:31:05
>>530
ラッパー関数作って、mallocとfreeのカウンタを保持してアプリ終了時に比較チェックしてる。
問題は、いざリークを起こしてる事が判明しても問題箇所の特定が出来ないことw

リークを起こしているけど見た目は問題なく動いてるというケースを見つける
ってこと以上のことは分からんので、さらに呼び出し元のソースファイルと行番号を記録し(ry

まあ、主にテスト段階で役に立ってる。
539仕様書無しさん:2007/08/22(水) 20:54:48
>>536
テストケース作る方針は特に無くて、個人のセンスに任されてるってことだべ?
540仕様書無しさん:2007/08/23(木) 21:58:28
int main(int argc,char *argv[])
{
char *a;

while(1){
a=(char *)malloc(1000000)
}
}

を3日間実行し続けたのに、メモリがまったく減っていませんでした。なんで?
Fedora6です。
541仕様書無しさん:2007/08/23(木) 22:02:13
シンタックスエラーだからじゃね?
542仕様書無しさん:2007/08/23(木) 23:18:54
>>540
コンパイルエラーでa.outが別コードが動いているのか、
最適化の段階で何もしていないって事になってるんじゃないの?

アセンブラに落として確認したらどうよ?
543仕様書無しさん:2007/08/23(木) 23:37:22
C++の勉強ついでに
while(new char[10000]);
を動かしたらひどい目にあった。
544仕様書無しさん:2007/08/24(金) 02:09:41
newなんてさ、ポインタ苦手さんだったら使わず
なにがなんでも実体的にインスタンス宣言しようとするんだろうな 無理か
545仕様書無しさん:2007/08/24(金) 07:02:47
>>544
俺の友人はC++でそこそこ動くシューティングゲームを作った後に
『malloc? new? なにそれ?』と本気でのたまったことがある。

全部staticかglobalの領域に確保してあったwwww
546仕様書無しさん:2007/08/24(金) 07:16:50
>>545
そんな縛りで作れる奴の方がスゲーぞ。俺もゲーム作っているけど、
開発時の効率を犠牲にしてまで、実行時の速度を得るのは職人。
ちょっと、そのシューティングゲームを作った人は、うちの会社にここに呼んでくれ。

マジでmallocとかnewとかしらないのら、いらんけど・・・
547仕様書無しさん:2007/08/24(金) 13:42:29
>>546
残念ながら本気で……w

まぁ今となってはポインタも理解したみたいですが。
548仕様書無しさん:2007/08/24(金) 13:48:13
使う領域が開始から終了まで通しでほぼ決まってるなら
グローバル確保でいいんじゃねと思うな
隠蔽だのモジュール化だのメンテナンスがとか別問題にして
549仕様書無しさん:2007/08/24(金) 20:21:03
パフォーマンス確保と対フラグメントの点において
携帯アプリでは現役のテク。

ドコモの900i以前では、GCした後コンパクションしないんだぜ?
550仕様書無しさん:2007/08/24(金) 22:48:59
ポインタは普通に使っているので、いらんと言われても困るんだが……
それでも、この間凄いポインタの使い方見たときは、どうしようかと思ったな


char* p = new char[20];
::strcpy(p, "エラー発生");
printf(p);
delete p;


突っ込みどころだらけ何だが……、これが客先に納品されてたよ。
551550:2007/08/24(金) 22:49:43
おれも、上みたいなコードばかりしか見たことなかったとしたら、ポインタいらね
って言ってたと思うな
552仕様書無しさん:2007/08/24(金) 22:51:03
ステップ数がなんと通常の4倍に!
553仕様書無しさん:2007/08/24(金) 22:58:05
>>550
初心者の俺がどこが変か考えてみた:
・まずnewする必要が無い?
・strcpyも要らない?
・printfにそのまま文字列リテラルを突っ込むべきだ?
(実際のソースみないとわからない)
・deleteの使い方が間違っている。delete [] pだろう。
554550:2007/08/24(金) 23:05:00
>>553
初心者のお前の方が、こいつより使えるなwww
お前にとっては嬉しいことかも知れんが、全部正解だよ。
newする必要なんかねぇ……でもよ、こいつのソースコードって全部コレなんだぜ。
newする必要がある箇所を探す方が難しい。

おまけに、あるクラスのメンバ変数をnewしたりdeleteしたりして、複数のスレッドで使いまわしたりもしてたから、
凄い事が起こるぜ。マルチスレッドなのに、マルチスレッドにすると確実に落ちるんだ。

すげーだろ。だからよ、コメントで
// 原因は分かりませんが、スレッドを立てると落ちやすくなります。
// お気をつけください。

って書いてあったよ。
555仕様書無しさん:2007/08/24(金) 23:14:15
>>550
おれも初心者だけど突っ込んでみる。
C++なら cout とか使ったらいいのに。
しかも ::strcpy としながら、printfには :: 付けないの?
察するにヘッダは<cstdio> ではなく <stdio.h> だね?
556仕様書無しさん:2007/08/24(金) 23:18:43
スニペットを悪用して一行分のタイプ数で数行のコードを生成するみたいなので
わざとステップ数稼いでるんだと思った
557仕様書無しさん:2007/08/24(金) 23:51:16
>>550
思うんだが、この手のコードが氾濫してるからポインタイラネってなるんじゃないか?
558仕様書無しさん:2007/08/25(土) 01:09:19
>>557
まあ、この場合は使う人次第さね…。

ポインタはケアレスミスも問題にしているんじゃないかな。
学ぶのが難しいのもあるけど。

確かにメモリ管理なんて勝手に裏でやってくれたほうが楽なんだよ。
エンタープライズソフトウェアでそんなもの面倒みたくないからね。
559仕様書無しさん:2007/08/25(土) 01:41:32
少なくとも、こんなもんは氾濫してないだろ……
560仕様書無しさん:2007/08/25(土) 05:44:12
>>559
たまたま社内で他人の書いたコードをいくつか読んだ俺に言わせてもらえれば……
561仕様書無しさん:2007/08/25(土) 07:20:11
そもそもnewやmallocの使い方を知らないから使わない奴ばかりのうちの職場ではこんな使い方する奴はいねぇ
562仕様書無しさん:2007/08/25(土) 12:30:51
うーん、>>550程度でこんな反応だったら、うちの会社のコード読ませたらどうなるんだ……

どんなのがあるかって言うとだな、例えばこんなんだ。

//まず、550と同レベルのコードがある
char* p = new ……
//処理
free(p);

//ほんでもって続き
bool temp = Shori();
if (p == FALSE)
{
///エラー処理
}
563仕様書無しさん:2007/08/25(土) 12:34:35
意味が分からん
564仕様書無しさん:2007/08/25(土) 12:40:26
>>550,>>562 はむしろ↓では?
この会社辞めようと思ったソースコード#18
http://pc11.2ch.net/test/read.cgi/prog/1187102925/l10
565仕様書無しさん:2007/08/25(土) 12:40:37
・newに対してfree
・解放したpを後で結果bool戻り値と勘違いして使っている
566仕様書無しさん:2007/08/25(土) 12:46:19
>>560の発言が気になる……
567仕様書無しさん:2007/08/25(土) 21:44:47
でも確かにガベコレがないC++だと、適当なライブラリからポインタが返ってきたときどうしたらいいのかって最初ちょっと悩むんだよな。
ライブラリにfree_***なんて関数があるのか、free()するのかdeleteするのか。

俺はauto_ptr<>で返して、暗に「deleteしてくれ」って言ってる。 通じるよね?
568仕様書無しさん:2007/08/25(土) 21:54:43
そもそも、適当なライブラリからポインタが返ってくる場合、
1. そのライブラリのマニュアルを読めば分かる。
2. そのライブラリにソースが付いている。
場合がほとんどだから、意識したことねぇよ。

逆に、ソースも何も付いてないでポインタ返してきたら、無論シカトだ。
んなもん。ってか、無視以外に手段がねぇよ
569仕様書無しさん:2007/08/25(土) 22:03:47
モジュール間をリソース管理の責任が移動するのはあまりよくない設計だとかEffective C++に書いてあった
だからそういうライブラリそのものをシカトする人もいるかもしれない
570仕様書無しさん:2007/08/25(土) 22:29:48
まぁソース見るかテストコード作ってdeleteして動作確認するだろうな。
どうしても使用せざるえない時は。
571仕様書無しさん:2007/08/26(日) 15:21:50
>>558
その前に、他の言語の文字列型のようなものがCの標準に
なかったことが問題の根源にあるような気もしなくもない。
572仕様書無しさん:2007/08/26(日) 15:27:48
>>571
そうだね。
末尾に0が来れば終わりなんてクソ仕様は
やっぱり時代のせいだったんだろうか…。
573仕様書無しさん:2007/08/26(日) 20:59:52
今でもライブラリの奥底ではそうだろ。隠蔽されてるだけ。
574仕様書無しさん:2007/08/26(日) 21:07:01
番兵を設けるか、構造体にして長さも一緒に保持するか
575仕様書無しさん:2007/08/26(日) 21:12:07
Excelは長さを持っていると聞いた。
それがセルの最大長の理由だと。
576仕様書無しさん:2007/08/27(月) 13:02:13
>>572
つ[Pascal文字列]
577仕様書無しさん:2007/09/24(月) 11:11:16
動的なメモリ確保なんていらん。不要。
578仕様書無しさん:2007/09/28(金) 23:33:51
>>577
富豪的プログラミングは大賛成。
しかし、思考停止野郎は死ね。
579仕様書無しさん:2007/09/29(土) 04:34:45
作った当時は想定してない規模でぶんまわすときにスタックが溢れたりすると非常に萎える
ポインタも理解してないようでは内部変数と外部変数の区別もついていまい
580仕様書無しさん:2007/10/24(水) 17:48:36
「死ね」とまで書くほど必死なnew&malloc厨。痛すぎ。
生半可な知識をふりかざして、書くコードはバグの宝庫。
出たバグはこっそり直して、表面化した悪いことは全部他人のせい。
だから、クビにならない。赤福の社長と同じ。
581仕様書無しさん:2007/10/25(木) 13:35:02
ポインタなんか要らないと言う話
http://homepage3.nifty.com/mogami/diary/d0710.html#242
582仕様書無しさん:2007/10/30(火) 20:33:42
正直、K&Rに載ってるmallocの古典実装レベルでも理解するのに数日かかった
583仕様書無しさん:2007/11/07(水) 13:07:13
>>580
ポインタの要、不要と、
動的メモリの要、不要は
別口じゃね?
584葉猫 ◆Jz.SaKuRaM :2007/11/10(土) 14:02:44
アホにメモリの確保とかやらせるより、秀才が作ったクラス内でメモリ確保させた方がイイー(・∀・)
585仕様書無しさん:2007/11/10(土) 18:02:55
なるほど
アホコテ(つまりお前)にはレスさせないようにしましょう
586仕様書無しさん:2007/11/28(水) 09:55:34
してるじゃねーかw
587葉猫 ◆Jz.SaKuRaM :2008/01/08(火) 21:32:59
久ち振りに制御系を手伝ったらfarとかnearとかホント糞だな。

もういい加減フラットにちろYO ヽ(`Д´)ノ ウワワーン
588仕様書無しさん
アホはさっさと死んどけば?