ポインタ死ねよ。at TECH
ポインタ死ねよ。 - 暇つぶし2ch1:デフォルトの名無しさん
07/02/11 14:42:17
ポインタいらね

2:デフォルトの名無しさん
07/02/11 14:44:36
>>1
まず、このスレでは、参照はポインタとみなすのか
そうでないのか、はっきりしてさせろ。話はそれからだ。

3:デフォルトの名無しさん
07/02/11 14:45:22
変な使い方しないんなら、あれほどわかりやすいものはないと思うんだけどな。

4:デフォルトの名無しさん
07/02/11 14:47:45
>>2
みなすわけねえだろ。

「参照いらね」なはずあるかボケ。

5:デフォルトの名無しさん
07/02/11 14:51:11
>>4
よし。じゃあ、お前にとっての
参照とポインタの違いを説明しろ。
話はそれからだ。

6:デフォルトの名無しさん
07/02/11 14:53:47
演算できるかどうかにきまってるじゃねーか。
それ以外あるかボケ。

7:デフォルトの名無しさん
07/02/11 15:30:06
なにも足さない、なにも引かない
大人のためのポインタ、それが参照です
サントリー

8:デフォルトの名無しさん
07/02/11 16:13:24
char orz[] = "orz<3";
char *p = orz;

この条件で1, 3, 5の文字をpを使って取り出す時、お前らなら

p[0], p[2], p[4]



*p, *(p + 2), *(p + 4)

のどっちで書く?

9:デフォルトの名無しさん
07/02/11 16:13:34
ポインポインポイン

10:デフォルトの名無しさん
07/02/11 16:25:46
ポインタが腐ってるんじゃなくて、文法が腐ってるという話
URLリンク(kmaebashi.com)

11:デフォルトの名無しさん
07/02/11 16:36:02
>>8
俺なら、0[p], 2[p], 4[p] かな。

12:デフォルトの名無しさん
07/02/11 17:00:06
>>8
マジレスすると、p[0], p[2], p[4] 。
ただ、同じ配列の要素に2回以上アクセスする場合は、
下のように別の変数に代入してから使う。

int i;
char orz[2][6];
char *p;

strcpy(orz[0],"orz");
strcpy(orz[1],"orz<3");

for (i=0;i<2;i++) {
p = orz[i];
if (strstr(p,"orz") && !strstr(p,"<3")) {
strcat(p,"<3");
}
printf("%s\n",p);
}


13:デフォルトの名無しさん
07/02/11 17:01:41
ぬるぽ

14:デフォルトの名無しさん
07/02/12 11:55:11
ポインタイラネっていうより、ポインタも使える自由さがイラネってところじゃね。


15:デフォルトの名無しさん
07/02/12 12:08:22
>>10
意図的かどうか知らんがミスリードしてるので読んではいけません

16:デフォルトの名無しさん
07/02/12 13:25:25
スタックポインタもイラネ

17:デフォルトの名無しさん
07/02/12 13:27:14
C言語がイラネ、ってことだ。C++もね

18:デフォルトの名無しさん
07/02/12 17:08:24
>>16
命令ポインタもイラネ

19:デフォルトの名無しさん
07/02/12 17:28:02
このスレもいらね

20:デフォルトの名無しさん
07/02/12 17:36:49
>>19
それを言っちゃあおしまいだぜ

21:デフォルトの名無しさん
07/02/12 17:45:13
memset(&>>1, ' ', 14);

22:デフォルトの名無しさん
07/02/12 22:30:27
  ______    / //       /        / i,           i   ヽ
 [_  ____]   〔/ /      / /    ∧  /  ヽ    i,   i   |   |
   ノ ノ  ┌┐       /   / / / /    / |  /    `、 i  !  |i   i  ,  l
 / 二~フ | ,二]     ./  ,ィ / / //   /    | /       | |  |  l !  i  |  |
 `"<ヽ /  | L_/|  7_i//`/ー- 、/ /     | /      | l   |  l l  !  !  i
  _//  L__/     ,/ / ,,,,- ニ=x-、_    !/        |i  _, +十'イ  i  !  !
   ̄             /   ''" / :;;r jヽ`\,/, ,リ     i_,, x=、 レ | / /  :|
  ┌┐         /|    /:::::;;;;;;;:`::::::l   "      "/ :;;r ヽヽ   |/| /   :!
 [二  ] __     {::|   |::::::::;;;;;;;;:::::::l             l:::;;;;;` ::| l  //    :!  。
   | |/,ー-、ヽ      ̄フ"`'、:_ '''' ,ノ           l  '''' ノ,,.., /○    :|
  / /  _,,| |     / ー''"..  ̄              ` ー '、  ヽ   。   :|  ○
 レ1 |  / o └、     >|::::::::::::::::            ,    ..::::::`''''"i  :|   :|
   .|__|  ヽ_/^    \:::::::::::::: 。     _,.-ーx,,     _,,,__ :::::::::::::::○:| :|   :|
    _  _  _     トー:: ○      /     `''''''"   `i  ::::::::::::::: l .:|  l  :|
   / / / / / /    | ::|         /             |       /  :| :l  :|
   / / / / / /    iヾ :|      /            /     , 'J :::| :|  :|
   `"  `"  `"     {::|  ::|     |              /   , イ    ::::| :|  :|
  ○  ○  ○      l ::|  :|、     ヽ         /   / ::::|    :::::| :|  :|

23:デフォルトの名無しさん
07/02/14 22:25:40
int* a;
*a=100;


ぼこあーん

24:デフォルトの名無しさん
07/02/15 00:36:08
>>23
おいおい、それじゃ死亡フラグ立ってるぞw

25:デフォルトの名無しさん
07/02/15 00:55:18
>>21
memset(&>>1, ' ', sizeof(>>1));
マジックナンバーは使うなとあれほど

26:デフォルトの名無しさん
07/02/15 00:59:08
初心者は*と&の使い方(書き方や文法)で混乱してるんだよな。
概念がずれまくってる奴ってのはあまりいない。

27:デフォルトの名無しさん
07/02/15 01:06:09
void main(){
 int *a;
 a = (int*)malloc(sizeof(int));
 *a = 100;
}

こうですか?わかりません><

28:デフォルトの名無しさん
07/02/15 01:14:32
>>27
とりあえずcharでやってみそ。

29:デフォルトの名無しさん
07/02/15 01:58:16
>>27
60点

30:デフォルトの名無しさん
07/02/15 11:52:29
char *hoge(){
 char *s = "hogehoge";
 return s;
}

31:デフォルトの名無しさん
07/02/15 21:51:46
ポインタの恐怖から開放されたいか?
ならばこれを唱えよ!!

#define char* 

32:デフォルトの名無しさん
07/02/15 23:15:43
#undef char*

33:デフォルトの名無しさん
07/02/15 23:38:40
charはキャラだよな。
チャーって言うのへんだよな。

34:デフォルトの名無しさん
07/02/15 23:54:46
キャー

35:デフォルトの名無しさん
07/02/16 00:04:20
ダブル精度って言い方を聞いた時はすごく新鮮に感じた

36:デフォルトの名無しさん
07/02/16 00:06:13
そうだよな。
トリプルが普通だもんな

37:デフォルトの名無しさん
07/02/16 03:40:10
ポインタはオブジェクトを指し示すもの。
決してメモリのアドレスではありません。

38:デフォルトの名無しさん
07/02/16 05:56:12
>>33
シャーだよ。赤い彗星の。

39:デフォルトの名無しさん
07/02/16 08:57:10
>>37
Windows95は、他アプリのメモリ領域も指定できる、
本当にメモリーのアドレスとなる恐怖のOS。(ME・98も?)
NT系はアプリごとにOSがメモリー管理してくれる。

40:デフォルトの名無しさん
07/02/16 20:40:29
メモリー配置をCPUがしてくれてて、
論理アドレスと物理アドレスが別物になってるから
他のアプリとは決して被らないはずなのに・・・


41:デフォルトの名無しさん
07/02/16 21:44:01
>38
残念だがそれはcharでなくCharだ。

42:デフォルトの名無しさん
07/02/17 00:12:03
これから関数を呼び出すときはこう書くように。


(****************************printf)("hello pointer !!!!!!");

43:デフォルトの名無しさん
07/02/17 05:34:31
C言語は卑猥すぎる。
何がって、*がだよ。*ですよ*。もう形からしていやらしい。
しかも名前は逆参照演算子。普通とは逆に突っ込む。
意味はポインタ。挿すものだなんて…製作者は何を考えてるんだか。
*を付けた変数をファック。
とても18未満には教えていいような言語じゃないね!

44:デフォルトの名無しさん
07/02/17 11:57:31
「スーパーマリオブラザーズは女性差別・セクハラ」
なんで、あんな酷いセクハラ作品が子供たちに大っぴらに売られているのでしょう?
まず、男二人が主人公で、捕まるのは女性。これは明らかに女性差別です。
主人公が好色なイタリア人の男。これも子供の教育にはよくありません。
特に二人のあの鼻!!卑猥すぎます。子供が性犯罪オス原因の一つです。
そして敵がクリボーにノコノコ。これらはキノコに亀です。
明らかに男性器を象徴しています。
それにクリボーってなんですか!!クリ○リスと棒を合体させた非常に卑猥なネーミングですよ。
パワーアップアイテムもそうです。キノコに花。これも男性器と女性器です。
しかも、大きくなるんですよ。勃起です勃起。子供には早すぎます。
あのスターってなんですか?よく男性の読むいかがわしい漫画で女性の乳首や性器を
隠すのに用いられるのが星マークですが、それが逃げる、マリオが追いかける、
こういった姿は見せたくないものを無理やり剥ぎ取ろうとするレイプを
連想させます。あぁ、もう言い尽くせません。
大きくなったり、土管に入る、ブラックパックンッフラワーなんて
もう言うまでもない下品なキャラクターばかりのこの作品。
女性の地位向上を阻んでいますよ。皆さんもそう思いますよね?

45:デフォルトの名無しさん
07/02/17 19:51:42
ポインヨ

46:デフォルトの名無しさん
07/02/17 20:59:35
C#最高

47:デフォルトの名無しさん
07/02/17 21:01:05
レーザーポインタ

48:デフォルトの名無しさん
07/02/22 03:58:21
>>8
orzの途中に\0が入ったときにおかしくなるので文字列処理のライブラリを使う。
マルチバイト文字コードだとそもそも文字の単位があいまいすぎる。


49:デフォルトの名無しさん
07/04/22 21:40:59
誰か俺にダブルポインタを説明してくれ!!

50:デフォルトの名無しさん
07/04/22 22:06:10
ポインターのポインター

51:デフォルトの名無しさん
07/04/23 01:58:29
死ね

52:デフォルトの名無しさん
07/04/23 11:31:50
>>49
何か特殊なものだと言う考えは捨てて、>50の通りに理解する方がいいよ。
#でないと、「ダブルポインタは判りますがトリプルポインタは自信がありません」なんてことになりかねない。

53:デフォルトの名無しさん
07/04/23 13:31:49
クアドラプルポインタとか
クインティプルポインタとか
セクスタプルポインタとか
セプタプルポインタとか
オクタプルポインタとか
ノナプルポインタとか
ディカプルポインタとか

気付いたら勝手にキャストされて循環参照になってたりとか

54:デフォルトの名無しさん
07/04/23 16:33:01
へクサディキャプルポインタ

55:デフォルトの名無しさん
07/04/23 18:44:32
ポインタないと遅くてメモリ食いまくってやってられんよ

56:デフォルトの名無しさん
07/04/23 18:53:10
ハァ?

57:デフォルトの名無しさん
07/04/23 19:03:13
覚え立ての素人ほどポインタを使いたがるよね

58:デフォルトの名無しさん
07/04/23 20:44:59
charの事をチャラ型って読んでるやつがいる

59:デフォルトの名無しさん
07/04/23 20:46:30
俺はシャア

60:デフォルトの名無しさん
07/04/23 20:56:37
プログラムが趣味の頭のおかしい友人が、
ちゃーが・・・と俺に話しかけてきたときは
福原愛もおかしなあだ名つけられてしまったなと。
その後、charの事だと気づいたが。


61:デフォルトの名無しさん
07/04/23 21:05:42
俺はチャー(竹中尚人)

62:61
07/04/23 21:08:20
よくよく考えたらcharって言葉初めて聞いたのこれだった
おかしいとか言われたけどこりゃ別におかしくないわ



63:デフォルトの名無しさん
07/04/23 22:03:40
ポインタはアンカーのようなもんだと思えば楽じゃね?
飽くまで概念的なもんだが…

64:デフォルトの名無しさん
07/04/23 22:36:09
犬の種類じゃね?

65:デフォルトの名無しさん
07/04/23 22:45:52
「ポインタ=アドレスレジスタ」と考えれば解り易いかも。
昔はポインタに TINY/SMALL/COMPACT/MEDIUM/LARGE/HUGE と言う種類が
あってだなぁ・・・

66:デフォルトの名無しさん
07/04/23 22:49:41
メモリモデルとポインタ種別ごっちゃにするなよ。

67:デフォルトの名無しさん
07/04/23 23:06:08
最近はクラスオブジェクトのポインタばっかだから


68:デフォルトの名無しさん
07/04/24 00:24:53
これで動かない理由がわからない

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void kakuho(char **buf)
{
    *buf = malloc(sizeof(char)*100); //確保したメモリのポインタを渡す
}

int main()
{
    char **buf;

    kakuho(buf); //ポインタのポインタを渡す
    strcpy(*buf, "hello"); //確保したメモリに文字列をコピーする
    printf("%s\n", *buf); //文字列を表示する
    free(*buf); //夏帆したメモリを解放する

    return 0;
}


69:デフォルトの名無しさん
07/04/24 00:35:15
>>68
>これで動かない理由がわからない
君が不勉強だから。

>kakuho(buf); //ポインタのポインタを渡す
初期化していない char** を渡している。

つかこれ、どうみても buf を
  char *buf;
で定義し、kakuho(&buf) で受け取るつもりのコード。

70:デフォルトの名無しさん
07/04/24 00:49:22
Cは基本的に値しかわたせないんだから
値として何が渡されているかを意識すれば
それほど難しくはない。

71:デフォルトの名無しさん
07/04/24 13:25:00
>>68
これじゃダメなの?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void kakuho(char *buf)
{
buf = malloc(sizeof(char)*100); //確保したメモリのポインタを渡す
}

int main()
{
char *buf = NULL;

kakuho(buf); //ポインタを渡す
if (buf){
 strcpy(buf, "hello"); //確保したメモリに文字列をコピーする
 printf("%s¥n", buf); //文字列を表示する
 free(buf); //確保したメモリを解放する
 return 0;
}
return -1;
}


72:デフォルトの名無しさん
07/04/24 13:33:15
>>71
kakuho()に渡されたポインタは、kakuho()からは戻されないのでダメ。
素直にkakuho()から戻り値として戻すか、ポインタのポインタを渡してもらってそこに書き込むか。

char * kakuho_return() {return malloc(100);}
char * buf = kakuho_return();

void kakuho_pointer(char ** bufPointer) {* bufPointer = malloc(100);}
char * buf;
kakuho_pointer(& buf);

73:デフォルトの名無しさん
07/04/24 14:30:06
hoo( void** value )
{
*value = 0xABCDEF;
}

main()
{
void * hage;
hage = NULL;
// hage は、 0x00000000
hoo(&hage);
// hage は、 0x00ABCDEF
}

こういう事ね。

74:デフォルトの名無しさん
07/04/24 17:09:35
>>71
これで42が出力されないのと同程度にダメだ
#include <stdio.h>

void set(int x)
{
  x = 42;
}

int main(void)
{
  int n = 0;
  set(n);
  printf("%d\n", n);
  return 0;
}

75:デフォルトの名無しさん
07/04/25 22:58:40
>>68
ええと。
kakuho() と main() の buf は同名の別変数。
kakuho() から return buf; するか、buf をグローバル変数で確保するか。
前者を推奨。

しかしFAQ的によく目にする話題ですが、自分はここで悩んだっけか・・・忘れてしまいました。


76:デフォルトの名無しさん
07/04/26 23:32:13
>>68のようにダブルポインタで渡されてメモリ確保して返す方法ってないの?
戻り値以外はダメ?

77:デフォルトの名無しさん
07/04/26 23:40:31
特にダブルポインタ渡す意味がわからん
メモリ確保分のポインタだけ渡せばいいのに


78:デフォルトの名無しさん
07/04/26 23:47:48
>>69に書いてあんだろ。

79:デフォルトの名無しさん
07/04/26 23:51:10
char** ってどうやって初期化するの?

80:デフォルトの名無しさん
07/04/27 00:11:58
=0

81:デフォルトの名無しさん
07/04/27 00:15:55
char a=' ';
char* b=&a;
char** c=&b;
ただ、サイズが2byteでいいならの話だけれど。
もっと大きなサイズなら要memset
注)じゃあ、
char* b=" ";
char** c=&b;
でもいいじゃん!というかもしれないが、bはリテラルだからできるだけ避けたほうがいいよ、strシリーズが使えなくなるからね>リテラルメモリ破壊>メモリアサーション

82:デフォルトの名無しさん
07/04/27 10:54:20
>>81
夢物語は結構。

83:デフォルトの名無しさん
07/06/11 15:01:55
characterの略でcharなのはわかるが、a以下がなくなっているので、子音のrのみの発音にならないとおかしいだろう

つまり、"ちゃー"もしくは"きゃー""きゃる""しゃー"などである、そのなかに"きゃら"は無い!

と言ってみるテスト

84:デフォルトの名無しさん
07/06/11 15:13:18
URLリンク(www.cmagazine.jp)
ポインタと配列を混同している

85:デフォルトの名無しさん
07/06/11 15:53:37
>>84

その人ヘッダファイルの使い方知らないのかな?
URLリンク(www.cmagazine.jp)


86:デフォルトの名無しさん
07/06/11 16:15:58
>>85
読むとバカが感染るから要注意。

87:デフォルトの名無しさん
07/06/13 12:01:29
大学の情報学部とかでも「チャー」って読んでる教授いるよ。
それも、かなりの上級者でも。
でも「キャラ」って読んでる人もかなり多い。

語源からすると「キャラ」が正解っぽいけど
語源を知ってる教授でも(講義でキャラクターから来てると説明してた)
「チャー」と読んでる人もいるからよくわからんな。

88:デフォルトの名無しさん
07/06/13 14:57:47
キャラクタと読めばいいじゃん

89:デフォルトの名無しさん
07/06/13 15:00:17
英語圏でもチャーって読む人いるのかな。

90:デフォルトの名無しさん
07/06/14 00:21:02
>>89
外人の喋ってるケースでは、ちゃーしか聞いたことない。
微妙に最後に巻き舌が入ってるような気もするけど。


91:デフォルトの名無しさん
07/06/14 00:35:41
そもそも読み上げる機会がない

92:デフォルトの名無しさん
07/06/14 07:34:17
「キャラ」ってすごく日本語っぽい読み方じゃね?
それなら「キャー」の方が正しくね?

93:デフォルトの名無しさん
07/06/14 10:50:45
>>92
語の先頭の「ch」を「k」と読むのは珍しい部類だと思うんだが。

94:デフォルトの名無しさん
07/06/14 10:54:42
ちぇる

95:デフォルトの名無しさん
07/06/14 14:00:33
charをキャラと読んでしまう奴は英語のフォニックスを全く理解していないと思うのだが・・

96:デフォルトの名無しさん
07/06/14 15:30:47
charactor→char
キャラクタ→キャラ
と言うロジックかと

かくいう俺はチャー派

97:デフォルトの名無しさん
07/06/14 23:14:56
日本人同士で話すのに、英語のふぉにっくすなんて気にしてもねぇ。

98:デフォルトの名無しさん
07/06/15 00:38:01
DestroyThread(this);

99:デフォルトの名無しさん
07/06/15 12:54:17
>>97
そういうやつに限って、Ironを"アイアン"と呼ぶか"アイロン"と呼ぶかにこだわる(両方正解であり、両方不正解)


100:デフォルトの名無しさん
07/06/15 15:59:26
energyをエネルギーと読んでしまう奴は英語のフォニックスを全く理解していないと思うのだが・・


101:デフォルトの名無しさん
07/06/15 17:11:50
だってドイツ語の音訳だし

102:デフォルトの名無しさん
07/06/15 18:46:36
英語をドイツ語で読むならなおさら

103:デフォルトの名無しさん
07/06/15 19:54:27
charは「文字」と読むべき。

104:デフォルトの名無しさん
07/06/15 20:26:19
じゃあ全部日本語で呼べばいいな

105:デフォルトの名無しさん
07/06/15 23:35:48
途中で切られている事自体が間違い

106:デフォルトの名無しさん
07/06/16 05:35:17
URLリンク(dictionary.goo.ne.jp)

107:デフォルトの名無しさん
07/06/16 08:16:36
>>100 はアポージュースください。って言うんだろうな。

108:デフォルトの名無しさん
07/06/16 10:08:44
アポー

109:デフォルトの名無しさん
07/06/17 13:40:48
int イント
integer インテジャー

スレ違いだが SystemVerilog だと両方あったりしてややこしい。



110:デフォルトの名無しさん
07/06/17 20:54:37
ワンモアセッ

111:デフォルトの名無しさん
07/06/20 11:54:53
ところでポインタ死ねよ

112:デフォルトの名無しさん
07/06/20 15:34:00
>>106
charって焦げるって言う意味なんだな...
するってぇと、文字列になると、処理が面倒くさくなる文字に対しての皮肉でcharなんかな?


113:デフォルトの名無しさん
07/06/20 15:41:15
グラタン

114:デフォルトの名無しさん
07/06/20 15:43:25
チャーのギターをチャーっとやりてぇ~

115:デフォルトの名無しさん
07/06/20 15:47:21
逆光線

116:デフォルトの名無しさん
07/06/20 15:48:30
妹の飼ってるフェレットの名前がチャー

117:デフォルトの名無しさん
07/06/21 01:15:54
加藤はチャー

118:デフォルトの名無しさん
07/06/22 13:06:10
ポインタさんのおかげで背が3cm伸びました。
こんなに効果があるとは思っていませんでした。
本当にありがとうございました。

119:デフォルトの名無しさん
07/06/22 17:45:17
Pascalの変数宣言がvarなのが納得いかない。なんでvariableじゃないんだ。
integerとかfunctionとか書かせる癖に。

120:デフォルトの名無しさん
07/06/22 18:58:38
それは後から追加された予約語だ

121:デフォルトの名無しさん
07/06/23 00:09:48
>>119
まあ、const とか div とかもあるんだから気にすんな、禿げるぞ。

>>120
後からって...、最初の Pascal には var がなかったのか?


122:デフォルトの名無しさん
07/06/23 01:53:08
          /⌒\
         / / ̄ ̄ ̄ ̄ ̄ ̄\      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         |/             \  <  今、ポインタ殺してきた。リアルで。
         /   ∠,,_ノ ソ _ ,,.. _)   \__________________
        /|  '',,((ノ )   ノ (\)  |
        | |     ̄'      ̄ イ   ハァ ハァ
        \| υ     、_/ロロロ)_ ノ
        /         ̄ ̄  \
        /|    υ          \
        ( .|    /  ノ ̄ ̄ ̄)  ノ  \
       ヽ.|◯  |   ノ ̄ ̄ ̄)  /\ ○\
       /.|  o .|  ノ ̄ ̄ ̄) /  \ o゚ \

123:デフォルトの名無しさん
07/06/24 19:45:23
でかした。


124:デフォルトの名無しさん
07/06/29 11:21:34
おしっこちゃー

125:デフォルトの名無しさん
07/07/04 18:43:34
どんだけ~

126:デフォルトの名無しさん
07/10/12 02:12:05
const unsigned char ch;
int i;

for( i = 0; i < sizeof(ch); i++ )
printf( "%c", *(char*)(ch+i) );

ポインタは、こういう風に書くと愛着がわく。

127:デフォルトの名無しさん
07/10/12 02:14:04
>>126
teisei

const unsigned char ch[] = "01234567890";

128:デフォルトの名無しさん
07/10/12 10:39:40
>>126
何故わざわざキャストするの?
それと、どの辺に愛着が?
愛着が湧かない書き方も見てみたいな。

129:デフォルトの名無しさん
07/10/12 11:16:49
いや、>>126はただのにわかだろうw

130:デフォルトの名無しさん
07/10/12 12:21:31
俄かか膠か

131:デフォルトの名無しさん
07/10/24 04:08:02
ポインタ死ねよ。
スレリンク(tech板)


132:デフォルトの名無しさん
07/10/24 04:10:34
ポインタはどうやって学ぶべきか
スレリンク(tech板)


133:デフォルトの名無しさん
07/10/24 15:21:10
ポインタ嫌いな人たちは、iteratorも嫌いなの?

134:デフォルトの名無しさん
07/10/25 12:05:06
>>1は、CPUの仕組みを理解していないのではないか?
情報処理やる人は、基礎知識としてCPUの仕組みとマシン語、アセンブラを知ったほうがいい。

135:デフォルトの名無しさん
07/10/25 12:17:08
C ではポインタよく使ってたし、昔は結構凝った pointer arithmetic とかやって
悦に入ってた傾向がある…少したったらで読みづらいし、ポインタ使っても速く
なるわけでもないのであまり使わなくなってきた。Java とかでは明示的には
使わないし。iterator も必要な時には使う(主に STL)けど、結構 [] 使うとき
多いかな。まぁ基本的に楽なものを使うのが一番良いし、それは一人なら自分の好み
でグループならポリシー次第。pointer 嫌いって、Java な人かな。

136:デフォルトの名無しさん
07/10/25 12:18:44
>>135 爆釣オツぅぅ!!

137:デフォルトの名無しさん
07/10/25 13:22:34
ポインタなんか要らないと言う話
URLリンク(homepage3.nifty.com)

138:デフォルトの名無しさん
07/10/25 13:25:05
コンパイラの方が賢いと思うやつのソースは糞

139:デフォルトの名無しさん
07/10/25 13:59:07
>>136
どこが釣なんだ?普通だと思うが。

>>137 が釣というのならわかるよ。
ただ、本人がいないところで blog なんか吊し上げても
しょうがないと思うけどね。



140:デフォルトの名無しさん
07/10/27 10:35:36
137のリンク先の痛さからすると、本人かも知れんぞw

141:デフォルトの名無しさん
07/10/30 00:28:10
▼ ポインタなんか要らないという話:

なんで最近の言語ですら、みなポインタを持っているのかな。
どうも本物のプログラムを書くにはポインタ(あるいは参照)が
必要であると思われているみたいだけど、それは違う。

ポインタが必要と言うのは要するに速さの問題だ。
昔のコンパイラ技術では人間がポインタを使っていろいろ
最適化する方が速かった。

しかし今なら、この手の機械で追跡可能な最適化は
機械にやらせたほうが速くなるだろう。
ポインタを人間に触らせてしまうと、データのメモリのストアの仕方が
コンパイラの自由にできなくなる。
(レジスタに置くか、ヒープか、スタックか。スタックならどこか。
確保するのは呼び出し側か、解放するのは呼ばれた側かなど。)
これによって最適化がさまたげられるからだ。


142:デフォルトの名無しさん
07/10/30 01:35:29
世の中のソフトってパソコンアプリばっかりじゃないからねぇ

143:デフォルトの名無しさん
07/11/13 17:31:13
>>141

うーむ、ポインタを触るからこそ、CとかC++は何でもできるんじゃねぇの?

144:デフォルトの名無しさん
07/11/13 18:16:11
何でもできるってのが、なんかの機能を実装できるって意味なら
ポインタは全く関係ない
ポインタの存在意義は、「ポインタを使ったコーディングが出来る」以上でも以下でもない
マクロとかテンプレートとかと同じ

145:デフォルトの名無しさん
07/11/15 00:16:59
Cなんて、アセンブラで書くのカッタルイから開発されただけだからね。
アセンブラを知ってる人が使う言語なんだよね。
何か最近はアセンブラのアの字も知らない青二才がいい気になってるけど、
ポインタとかそういう事だから分からない方がおかしいのさ。
ポインタ知りたいならアセンブラやんなきゃどうしようもない。
なんてった、超低級言語から引きずってる概念だからね。

反面、もっと言語として高級なものならポインタを全く気にする必要は無い。
いやポインタと言う概念すら出てくる余地がない。


146:デフォルトの名無しさん
07/11/15 00:26:18
>>145
かったるいというより portability が大きいと思うぞ。
あと、assembler なんか知らなくても C もポインタもわかるよ。

147:デフォルトの名無しさん
07/11/16 01:35:04
>>146
ポータビリティーなんて後付けだよ。
インラインアセンブラなんて初期の頃から付いてるんだから。

ポインタの本来の意味は、アドレスレジスタだね。

148:デフォルトの名無しさん
07/11/17 12:18:35
>>148
経緯的には後付けなのかも知れんが、C が広まった
理由としてはポータビリティーは大きいと思うなぁ。


149:デフォルトの名無しさん
07/11/30 11:47:05
メモリを直接弄る場合にゃ、ポインタは分かりやすい。組み込みだと、ポインタがないと死ねる。
でも、普通のアプリ作る場合には、ポインタは邪魔だよね。

150:デフォルトの名無しさん
07/12/01 06:14:53
専門書読むのに索引あると便利だが、
マンガ読むときには必要ないって感じだな。

151:デフォルトの名無しさん
07/12/01 07:48:21
どちらかと言うと、専門書と言うよりはマニュアル本(或いはもっと極端に規格書)だと思うぞ。

152:デフォルトの名無しさん
07/12/02 11:54:46
うんにゃ、電話帳よ。


153:デフォルトの名無しさん
07/12/02 22:32:06
ドット絵とドローツールとか

154:デフォルトの名無しさん
08/02/08 00:01:53
基底クラスAの派生クラスB, Cがある。
派生クラスのオブジェクトを基底クラスAのリストに入れて取り扱う

class A {
};

class B: public A{
};

class C: public A{
};

void func()
{
list<A*> vec;

vec.push_back(new C);
vec.push_back(new B);
}

これをポインタ無しでかけるのか?
ポインタ不要論を唱える意味がわからん。


155:デフォルトの名無しさん
08/02/08 00:35:43
JavaやC#でも同様の記述はできる。それも難解なテクニック要らず楽勝で。

参照という、ポインタに非常によく似た、というかそれを覆う概念ですがね。
ポインタよりも遥かに安全。

156:デフォルトの名無しさん
08/02/08 01:13:21
>>155
C++でどうやるんだと聞いている。
JAVA, C#以前にC++が出た頃からポインタ不要論ってのはあるんだよ。
ポインタ不要論を唱えている奴の意味がわからん。

157:デフォルトの名無しさん
08/02/08 22:59:25
ポインタ不要論を唱えてた奴等が Java とか C# とか作ったんじゃないのか?

158:デフォルトの名無しさん
08/02/14 03:26:02
C→C++やってるとポインタの知識は必要不可欠。
javaはポインタが無いから始め混乱したよ

159:デフォルトの名無しさん
08/02/14 11:44:58
違う環境、違う言語から移植する時にウンザリする位かな。
実際、最初からC/C++でアプリ作っててポインタの扱いに困る状況ってあまり無いじゃん。
"ポインタ=怖い"のイメージばかり先行してる気がする

160:デフォルトの名無しさん
08/02/14 16:46:49
>>159
pointer arithmetic しだすと結構わかりにくいコードになりやすい
と思うけど。10年位前に自分で書いたコード見ると結構難しかったりする。
そのころは結構ポインタ結構気に入ってたからな…

最近あまり pointer 振り回さないけど。あと、C++ だと iterator
を使うこと多い。これの方が安全かな。C の時代より pointer 使うこと
全然減った。

161:デフォルトの名無しさん
08/02/14 17:20:18
今時ファームとかじゃなきゃ直でポインタ操作なんてしない罠
フレームワーク使ってたらクラス実体の位置ぐらいの意味しかない

162:デフォルトの名無しさん
08/02/16 13:46:04
ポインタ不要論者って、Cのあれが不要って言っているだけで、
Java/C#のように、制限的にして使うのは認めているの?

163:デフォルトの名無しさん
08/04/14 22:30:05
生ポインタの駄目な点
・長さがわからない
・配列かどうかもわからない
・C++ならキャストしただけでアドレスが変わる
・ポインタのポインタを使わないと共有オブジェクトのNULLチェックが…

生ポインタの利点
・インターフェースを使える

修正、追加よろ

164:デフォルトの名無しさん
08/04/15 21:19:43
寿司食いたいフフフフフフフフフフフフフフフフフフフフフフフフ

165:デフォルトの名無しさん
08/04/26 20:58:55
>>163
> インターフェースを使える
どういうこと?

166:デフォルトの名無しさん
08/06/02 03:43:04
C言語なら俺に聞け(入門篇) Part 29
スレリンク(tech板)


167:デフォルトの名無しさん
08/06/02 18:31:48
>>162
そういうレベルじゃなくて、ポインタが理解できないんだよ(涙

168:デフォルトの名無しさん
08/06/02 18:33:45
>>167
(何かを)ポイントするものです。

169:デフォルトの名無しさん
08/06/02 18:59:36
構造化アセンブラだとおもえ!

170:デフォルトの名無しさん
08/06/02 19:04:05
>>163

生ポインタ・・・ハァハァ、フェラチオみたいでそそる

171:デフォルトの名無しさん
08/06/04 16:37:21
**になると辛すぎ(涙

172:デフォルトの名無しさん
08/06/05 00:13:08
ポインタ無いとニンテンドーDSの開発できねぇ

173:デフォルトの名無しさん
08/06/05 01:38:20
>>165
抽象クラスを継承してみそ

174:デフォルトの名無しさん
08/06/05 01:43:26
C++ならstatic_castがあるから、あまりポインタこわくないんだがCだと危険なキャストしかないからなぁ…
Cでのポインタの利用は少し自信が無い

175:デフォルトの名無しさん
08/06/05 23:06:04
DWORD AddressOfNameOrdinals
にWORD*でアクセスすると正常に動作するのにDWORD*だと動かないばかりかDependency Walkerに突っ込むとBSOD
なんなんだよ

176:デフォルトの名無しさん
08/06/06 00:31:04
WORD*でアクセスって何だよ

177:デフォルトの名無しさん
08/06/06 05:31:09
つーか、何でDWORDに対してDWORD *でアクセスすんのよ?

178:デフォルトの名無しさん
08/06/06 13:49:58
DWORD * をインクリメントして、どうこうって操作なんて、実際やらんよなぁ

179:デフォルトの名無しさん
08/06/06 23:53:54
ドトネトの仕事ばっかりしてたら、ポインタ宣言の仕方忘れた。

180:デフォルトの名無しさん
08/06/10 13:07:10
void (*signal(int signum, void (*handler)(int)))(int);

うをりやー
void signal(int signum, void handler[1](int))[1](int);
ほら、簡単でしょう?

181:デフォルトの名無しさん
08/06/10 13:09:32
void signal(int signum, void handler[*](int))[*](int);
なんか、こういう記法を作ればいい気がしてきた。C[*]記法?

182:デフォルトの名無しさん
08/06/10 20:54:21
>>181
これじゃだめだったっけ?
void signal(int signum, void handler[](int))[](int);


183:デフォルトの名無しさん
08/06/10 21:56:16
URLリンク(courses.cs.tamu.edu)
> char stepscan[](int port1, int port2, int steps, int direction, int readings, int encodport)

えーっとこれは、、

> char scans[140];

> return scans;

大丈夫なのかw

184:デフォルトの名無しさん
08/06/10 22:00:49
ポインタ返しとかを考えると、もうなんか
char stepscan[](...)
char stepscan(...)[*]
stepscan(...)[*] : char
こうしなきゃダメなんだろうかとか思ってしまう

185:デフォルトの名無しさん
08/06/11 00:27:15
今時4GBくらいメモリ積んでることも余裕なので、一般的な32ビットCPUの全空間丸ごとアクセス可能な状態。
ということは別にNULLだろうがオンメモリなんだぜ。
というか、まあアドレス0000にRAMがあるようなシステムだと、NULL==(void*)0と定義してしまって、NULLを特別扱いすると、
RAMの使用範囲が狭まってしまうな。

186:デフォルトの名無しさん
08/06/11 00:32:44
そこは仮想メモリでアドレス空間を好きに動かせばいい。

187:デフォルトの名無しさん
08/06/11 00:35:27
>>185
それ65系とか68系だね?

188:デフォルトの名無しさん
08/06/13 05:39:11
ストラックポインタ最高!

189:デフォルトの名無しさん
08/06/13 07:54:35
ポインタは死にません。終了。

190:デフォルトの名無しさん
08/06/13 08:15:43
ポインタは死んだ

191:デフォルトの名無しさん
08/06/13 08:40:49
ヽ( `ω´)ノ死にません!

192:デフォルトの名無しさん
08/06/13 09:09:01
ポインタは死んだ。ヌルポ(笑)

193:デフォルトの名無しさん
08/06/14 02:11:28
>>192
ガッ!

194:デフォルトの名無しさん
08/06/15 07:52:10
それよりargがアホ

195:デフォルトの名無しさん
08/06/15 08:34:22
偽装請負を強制する派遣先は倒産させたほうがよくないか
スレリンク(lifesaloon板)
URLリンク(find.2ch.net)


196:デフォルトの名無しさん
08/06/16 06:18:52
ポインタテラ便利
Objective-Cやったらわかる。

197:デフォルトの名無しさん
08/06/16 07:56:57
ポインタは乳首
生きる

198:デフォルトの名無しさん
08/06/19 15:13:45
「ハッカーズ大辞典」にcharの読みはチャーって書いてあった希ガス。

199:デフォルトの名無しさん
08/06/19 22:13:23
この感じ、charか!


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch