ポインタ死ねよ。
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/02/11(日) 14:42:170002デフォルトの名無しさん
2007/02/11(日) 14:44:36まず、このスレでは、参照はポインタとみなすのか
そうでないのか、はっきりしてさせろ。話はそれからだ。
0003デフォルトの名無しさん
2007/02/11(日) 14:45:220004デフォルトの名無しさん
2007/02/11(日) 14:47:45みなすわけねえだろ。
「参照いらね」なはずあるかボケ。
0005デフォルトの名無しさん
2007/02/11(日) 14:51:11よし。じゃあ、お前にとっての
参照とポインタの違いを説明しろ。
話はそれからだ。
0006デフォルトの名無しさん
2007/02/11(日) 14:53:47それ以外あるかボケ。
0007デフォルトの名無しさん
2007/02/11(日) 15:30:06大人のためのポインタ、それが参照です
サントリー
0008デフォルトの名無しさん
2007/02/11(日) 16:13:24char *p = orz;
この条件で1, 3, 5の文字をpを使って取り出す時、お前らなら
p[0], p[2], p[4]
か
*p, *(p + 2), *(p + 4)
のどっちで書く?
0009デフォルトの名無しさん
2007/02/11(日) 16:13:340010デフォルトの名無しさん
2007/02/11(日) 16:25:46http://kmaebashi.com/programmer/pointer.html
0011デフォルトの名無しさん
2007/02/11(日) 16:36:02俺なら、0[p], 2[p], 4[p] かな。
0012デフォルトの名無しさん
2007/02/11(日) 17:00:06マジレスすると、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);
}
0013デフォルトの名無しさん
2007/02/11(日) 17:01:410014デフォルトの名無しさん
2007/02/12(月) 11:55:110015デフォルトの名無しさん
2007/02/12(月) 12:08:22意図的かどうか知らんがミスリードしてるので読んではいけません
0016デフォルトの名無しさん
2007/02/12(月) 13:25:250017デフォルトの名無しさん
2007/02/12(月) 13:27:140018デフォルトの名無しさん
2007/02/12(月) 17:08:24命令ポインタもイラネ
0019デフォルトの名無しさん
2007/02/12(月) 17:28:020020デフォルトの名無しさん
2007/02/12(月) 17:36:49それを言っちゃあおしまいだぜ
0021デフォルトの名無しさん
2007/02/12(月) 17:45:130022デフォルトの名無しさん
2007/02/12(月) 22:30:27[_ ____] 〔/ / / / ∧ / ヽ 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 ::| :|、 ヽ / / ::::| :::::| :| :|
0023デフォルトの名無しさん
2007/02/14(水) 22:25:40*a=100;
ぼこあーん
0024デフォルトの名無しさん
2007/02/15(木) 00:36:08おいおい、それじゃ死亡フラグ立ってるぞw
0025デフォルトの名無しさん
2007/02/15(木) 00:55:18memset(&>>1, ' ', sizeof(>>1));
マジックナンバーは使うなとあれほど
0026デフォルトの名無しさん
2007/02/15(木) 00:59:08概念がずれまくってる奴ってのはあまりいない。
0027デフォルトの名無しさん
2007/02/15(木) 01:06:09int *a;
a = (int*)malloc(sizeof(int));
*a = 100;
}
こうですか?わかりません><
0028デフォルトの名無しさん
2007/02/15(木) 01:14:32とりあえずcharでやってみそ。
0029デフォルトの名無しさん
2007/02/15(木) 01:58:1660点
0030デフォルトの名無しさん
2007/02/15(木) 11:52:29char *s = "hogehoge";
return s;
}
0031デフォルトの名無しさん
2007/02/15(木) 21:51:46ならばこれを唱えよ!!
#define char*
0032デフォルトの名無しさん
2007/02/15(木) 23:15:430033デフォルトの名無しさん
2007/02/15(木) 23:38:40チャーって言うのへんだよな。
0034デフォルトの名無しさん
2007/02/15(木) 23:54:460035デフォルトの名無しさん
2007/02/16(金) 00:04:200036デフォルトの名無しさん
2007/02/16(金) 00:06:13トリプルが普通だもんな
0037デフォルトの名無しさん
2007/02/16(金) 03:40:10決してメモリのアドレスではありません。
0038デフォルトの名無しさん
2007/02/16(金) 05:56:12シャーだよ。赤い彗星の。
0039デフォルトの名無しさん
2007/02/16(金) 08:57:10Windows95は、他アプリのメモリ領域も指定できる、
本当にメモリーのアドレスとなる恐怖のOS。(ME・98も?)
NT系はアプリごとにOSがメモリー管理してくれる。
0040デフォルトの名無しさん
2007/02/16(金) 20:40:29論理アドレスと物理アドレスが別物になってるから
他のアプリとは決して被らないはずなのに・・・
0041デフォルトの名無しさん
2007/02/16(金) 21:44:01残念だがそれはcharでなくCharだ。
0042デフォルトの名無しさん
2007/02/17(土) 00:12:03(****************************printf)("hello pointer !!!!!!");
0043デフォルトの名無しさん
2007/02/17(土) 05:34:31何がって、*がだよ。*ですよ*。もう形からしていやらしい。
しかも名前は逆参照演算子。普通とは逆に突っ込む。
意味はポインタ。挿すものだなんて…製作者は何を考えてるんだか。
*を付けた変数をファック。
とても18未満には教えていいような言語じゃないね!
0044デフォルトの名無しさん
2007/02/17(土) 11:57:31なんで、あんな酷いセクハラ作品が子供たちに大っぴらに売られているのでしょう?
まず、男二人が主人公で、捕まるのは女性。これは明らかに女性差別です。
主人公が好色なイタリア人の男。これも子供の教育にはよくありません。
特に二人のあの鼻!!卑猥すぎます。子供が性犯罪オス原因の一つです。
そして敵がクリボーにノコノコ。これらはキノコに亀です。
明らかに男性器を象徴しています。
それにクリボーってなんですか!!クリ○リスと棒を合体させた非常に卑猥なネーミングですよ。
パワーアップアイテムもそうです。キノコに花。これも男性器と女性器です。
しかも、大きくなるんですよ。勃起です勃起。子供には早すぎます。
あのスターってなんですか?よく男性の読むいかがわしい漫画で女性の乳首や性器を
隠すのに用いられるのが星マークですが、それが逃げる、マリオが追いかける、
こういった姿は見せたくないものを無理やり剥ぎ取ろうとするレイプを
連想させます。あぁ、もう言い尽くせません。
大きくなったり、土管に入る、ブラックパックンッフラワーなんて
もう言うまでもない下品なキャラクターばかりのこの作品。
女性の地位向上を阻んでいますよ。皆さんもそう思いますよね?
0045デフォルトの名無しさん
2007/02/17(土) 19:51:420046デフォルトの名無しさん
2007/02/17(土) 20:59:350047デフォルトの名無しさん
2007/02/17(土) 21:01:050048デフォルトの名無しさん
2007/02/22(木) 03:58:21orzの途中に\0が入ったときにおかしくなるので文字列処理のライブラリを使う。
マルチバイト文字コードだとそもそも文字の単位があいまいすぎる。
0049デフォルトの名無しさん
2007/04/22(日) 21:40:590050デフォルトの名無しさん
2007/04/22(日) 22:06:100051デフォルトの名無しさん
2007/04/23(月) 01:58:290052デフォルトの名無しさん
2007/04/23(月) 11:31:50何か特殊なものだと言う考えは捨てて、>50の通りに理解する方がいいよ。
#でないと、「ダブルポインタは判りますがトリプルポインタは自信がありません」なんてことになりかねない。
0053デフォルトの名無しさん
2007/04/23(月) 13:31:49クインティプルポインタとか
セクスタプルポインタとか
セプタプルポインタとか
オクタプルポインタとか
ノナプルポインタとか
ディカプルポインタとか
気付いたら勝手にキャストされて循環参照になってたりとか
0054デフォルトの名無しさん
2007/04/23(月) 16:33:010055デフォルトの名無しさん
2007/04/23(月) 18:44:320056デフォルトの名無しさん
2007/04/23(月) 18:53:100057デフォルトの名無しさん
2007/04/23(月) 19:03:130058デフォルトの名無しさん
2007/04/23(月) 20:44:590059デフォルトの名無しさん
2007/04/23(月) 20:46:300060デフォルトの名無しさん
2007/04/23(月) 20:56:37ちゃーが・・・と俺に話しかけてきたときは
福原愛もおかしなあだ名つけられてしまったなと。
その後、charの事だと気づいたが。
0061デフォルトの名無しさん
2007/04/23(月) 21:05:42006261
2007/04/23(月) 21:08:20おかしいとか言われたけどこりゃ別におかしくないわ
0063デフォルトの名無しさん
2007/04/23(月) 22:03:40飽くまで概念的なもんだが…
0064デフォルトの名無しさん
2007/04/23(月) 22:36:090065デフォルトの名無しさん
2007/04/23(月) 22:45:52昔はポインタに TINY/SMALL/COMPACT/MEDIUM/LARGE/HUGE と言う種類が
あってだなぁ・・・
0066デフォルトの名無しさん
2007/04/23(月) 22:49:410067デフォルトの名無しさん
2007/04/23(月) 23:06:080068デフォルトの名無しさん
2007/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;
}
0069デフォルトの名無しさん
2007/04/24(火) 00:35:15>これで動かない理由がわからない
君が不勉強だから。
>kakuho(buf); //ポインタのポインタを渡す
初期化していない char** を渡している。
つかこれ、どうみても buf を
char *buf;
で定義し、kakuho(&buf) で受け取るつもりのコード。
0070デフォルトの名無しさん
2007/04/24(火) 00:49:22値として何が渡されているかを意識すれば
それほど難しくはない。
0071デフォルトの名無しさん
2007/04/24(火) 13:25:00これじゃダメなの?
#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;
}
0072デフォルトの名無しさん
2007/04/24(火) 13:33:15kakuho()に渡されたポインタは、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);
0073デフォルトの名無しさん
2007/04/24(火) 14:30:06{
*value = 0xABCDEF;
}
main()
{
void * hage;
hage = NULL;
// hage は、 0x00000000
hoo(&hage);
// hage は、 0x00ABCDEF
}
こういう事ね。
0074デフォルトの名無しさん
2007/04/24(火) 17:09:35これで42が出力されないのと同程度にダメだ
#include <stdio.h>
void set(int x)
{
x = 42;
}
int main(void)
{
int n = 0;
set(n);
printf("%d\n", n);
return 0;
}
0075デフォルトの名無しさん
2007/04/25(水) 22:58:40ええと。
kakuho() と main() の buf は同名の別変数。
kakuho() から return buf; するか、buf をグローバル変数で確保するか。
前者を推奨。
しかしFAQ的によく目にする話題ですが、自分はここで悩んだっけか・・・忘れてしまいました。
0076デフォルトの名無しさん
2007/04/26(木) 23:32:13戻り値以外はダメ?
0077デフォルトの名無しさん
2007/04/26(木) 23:40:31メモリ確保分のポインタだけ渡せばいいのに
0078デフォルトの名無しさん
2007/04/26(木) 23:47:480079デフォルトの名無しさん
2007/04/26(木) 23:51:100080デフォルトの名無しさん
2007/04/27(金) 00:11:580081デフォルトの名無しさん
2007/04/27(金) 00:15:55char* b=&a;
char** c=&b;
ただ、サイズが2byteでいいならの話だけれど。
もっと大きなサイズなら要memset
注)じゃあ、
char* b=" ";
char** c=&b;
でもいいじゃん!というかもしれないが、bはリテラルだからできるだけ避けたほうがいいよ、strシリーズが使えなくなるからね>リテラルメモリ破壊>メモリアサーション
0082デフォルトの名無しさん
2007/04/27(金) 10:54:20夢物語は結構。
0083デフォルトの名無しさん
2007/06/11(月) 15:01:55つまり、"ちゃー"もしくは"きゃー""きゃる""しゃー"などである、そのなかに"きゃら"は無い!
と言ってみるテスト
0084デフォルトの名無しさん
2007/06/11(月) 15:13:18ポインタと配列を混同している
0085デフォルトの名無しさん
2007/06/11(月) 15:53:37その人ヘッダファイルの使い方知らないのかな?
ttp://www.cmagazine.jp/src/kinjite/cpp/idea.html#index32
0086デフォルトの名無しさん
2007/06/11(月) 16:15:58読むとバカが感染るから要注意。
0087デフォルトの名無しさん
2007/06/13(水) 12:01:29それも、かなりの上級者でも。
でも「キャラ」って読んでる人もかなり多い。
語源からすると「キャラ」が正解っぽいけど
語源を知ってる教授でも(講義でキャラクターから来てると説明してた)
「チャー」と読んでる人もいるからよくわからんな。
0088デフォルトの名無しさん
2007/06/13(水) 14:57:470089デフォルトの名無しさん
2007/06/13(水) 15:00:170090デフォルトの名無しさん
2007/06/14(木) 00:21:02外人の喋ってるケースでは、ちゃーしか聞いたことない。
微妙に最後に巻き舌が入ってるような気もするけど。
0091デフォルトの名無しさん
2007/06/14(木) 00:35:410092デフォルトの名無しさん
2007/06/14(木) 07:34:17それなら「キャー」の方が正しくね?
0093デフォルトの名無しさん
2007/06/14(木) 10:50:45語の先頭の「ch」を「k」と読むのは珍しい部類だと思うんだが。
0094デフォルトの名無しさん
2007/06/14(木) 10:54:420095デフォルトの名無しさん
2007/06/14(木) 14:00:330096デフォルトの名無しさん
2007/06/14(木) 15:30:47キャラクタ→キャラ
と言うロジックかと
かくいう俺はチャー派
0097デフォルトの名無しさん
2007/06/14(木) 23:14:560098デフォルトの名無しさん
2007/06/15(金) 00:38:010099デフォルトの名無しさん
2007/06/15(金) 12:54:17そういうやつに限って、Ironを"アイアン"と呼ぶか"アイロン"と呼ぶかにこだわる(両方正解であり、両方不正解)
0100デフォルトの名無しさん
2007/06/15(金) 15:59:260101デフォルトの名無しさん
2007/06/15(金) 17:11:500102デフォルトの名無しさん
2007/06/15(金) 18:46:360103デフォルトの名無しさん
2007/06/15(金) 19:54:270104デフォルトの名無しさん
2007/06/15(金) 20:26:190105デフォルトの名無しさん
2007/06/15(金) 23:35:480106デフォルトの名無しさん
2007/06/16(土) 05:35:170107デフォルトの名無しさん
2007/06/16(土) 08:16:360108デフォルトの名無しさん
2007/06/16(土) 10:08:440109デフォルトの名無しさん
2007/06/17(日) 13:40:48integer インテジャー
スレ違いだが SystemVerilog だと両方あったりしてややこしい。
0110デフォルトの名無しさん
2007/06/17(日) 20:54:370111デフォルトの名無しさん
2007/06/20(水) 11:54:530112デフォルトの名無しさん
2007/06/20(水) 15:34:00charって焦げるって言う意味なんだな...
するってぇと、文字列になると、処理が面倒くさくなる文字に対しての皮肉でcharなんかな?
0113デフォルトの名無しさん
2007/06/20(水) 15:41:150114デフォルトの名無しさん
2007/06/20(水) 15:43:250115デフォルトの名無しさん
2007/06/20(水) 15:47:210116デフォルトの名無しさん
2007/06/20(水) 15:48:300117デフォルトの名無しさん
2007/06/21(木) 01:15:540118デフォルトの名無しさん
2007/06/22(金) 13:06:10こんなに効果があるとは思っていませんでした。
本当にありがとうございました。
0119デフォルトの名無しさん
2007/06/22(金) 17:45:17integerとかfunctionとか書かせる癖に。
0120デフォルトの名無しさん
2007/06/22(金) 18:58:380121デフォルトの名無しさん
2007/06/23(土) 00:09:48まあ、const とか div とかもあるんだから気にすんな、禿げるぞ。
>>120
後からって...、最初の Pascal には var がなかったのか?
0122デフォルトの名無しさん
2007/06/23(土) 01:53:08/ / ̄ ̄ ̄ ̄ ̄ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|/ \ < 今、ポインタ殺してきた。リアルで。
/ ∠,,_ノ ソ _ ,,.. _) \__________________
/| '',,((ノ ) ノ (\) |
| |  ̄'  ̄ イ ハァ ハァ
\| υ 、_/ロロロ)_ ノ
/  ̄ ̄ \
/| υ \
( .| / ノ ̄ ̄ ̄) ノ \
ヽ.|◯ | ノ ̄ ̄ ̄) /\ ○\
/.| o .| ノ ̄ ̄ ̄) / \ o゚ \
0123デフォルトの名無しさん
2007/06/24(日) 19:45:230124デフォルトの名無しさん
2007/06/29(金) 11:21:340125デフォルトの名無しさん
2007/07/04(水) 18:43:340126デフォルトの名無しさん
2007/10/12(金) 02:12:05int i;
for( i = 0; i < sizeof(ch); i++ )
printf( "%c", *(char*)(ch+i) );
ポインタは、こういう風に書くと愛着がわく。
0127デフォルトの名無しさん
2007/10/12(金) 02:14:04teisei
const unsigned char ch[] = "01234567890";
0128デフォルトの名無しさん
2007/10/12(金) 10:39:40何故わざわざキャストするの?
それと、どの辺に愛着が?
愛着が湧かない書き方も見てみたいな。
0129デフォルトの名無しさん
2007/10/12(金) 11:16:490130デフォルトの名無しさん
2007/10/12(金) 12:21:310131デフォルトの名無しさん
2007/10/24(水) 04:08:02http://pc11.2ch.net/test/read.cgi/tech/1171172537/
0132デフォルトの名無しさん
2007/10/24(水) 04:10:34http://pc11.2ch.net/test/read.cgi/tech/1193166476/
0133デフォルトの名無しさん
2007/10/24(水) 15:21:100134デフォルトの名無しさん
2007/10/25(木) 12:05:06情報処理やる人は、基礎知識としてCPUの仕組みとマシン語、アセンブラを知ったほうがいい。
0135デフォルトの名無しさん
2007/10/25(木) 12:17:08悦に入ってた傾向がある…少したったらで読みづらいし、ポインタ使っても速く
なるわけでもないのであまり使わなくなってきた。Java とかでは明示的には
使わないし。iterator も必要な時には使う(主に STL)けど、結構 [] 使うとき
多いかな。まぁ基本的に楽なものを使うのが一番良いし、それは一人なら自分の好み
でグループならポリシー次第。pointer 嫌いって、Java な人かな。
0136デフォルトの名無しさん
2007/10/25(木) 12:18:440137デフォルトの名無しさん
2007/10/25(木) 13:22:34http://homepage3.nifty.com/mogami/diary/d0710.html#242
0138デフォルトの名無しさん
2007/10/25(木) 13:25:050139デフォルトの名無しさん
2007/10/25(木) 13:59:07どこが釣なんだ?普通だと思うが。
>>137 が釣というのならわかるよ。
ただ、本人がいないところで blog なんか吊し上げても
しょうがないと思うけどね。
0140デフォルトの名無しさん
2007/10/27(土) 10:35:360141デフォルトの名無しさん
2007/10/30(火) 00:28:10なんで最近の言語ですら、みなポインタを持っているのかな。
どうも本物のプログラムを書くにはポインタ(あるいは参照)が
必要であると思われているみたいだけど、それは違う。
ポインタが必要と言うのは要するに速さの問題だ。
昔のコンパイラ技術では人間がポインタを使っていろいろ
最適化する方が速かった。
しかし今なら、この手の機械で追跡可能な最適化は
機械にやらせたほうが速くなるだろう。
ポインタを人間に触らせてしまうと、データのメモリのストアの仕方が
コンパイラの自由にできなくなる。
(レジスタに置くか、ヒープか、スタックか。スタックならどこか。
確保するのは呼び出し側か、解放するのは呼ばれた側かなど。)
これによって最適化がさまたげられるからだ。
0142デフォルトの名無しさん
2007/10/30(火) 01:35:290143デフォルトの名無しさん
2007/11/13(火) 17:31:13うーむ、ポインタを触るからこそ、CとかC++は何でもできるんじゃねぇの?
0144デフォルトの名無しさん
2007/11/13(火) 18:16:11ポインタは全く関係ない
ポインタの存在意義は、「ポインタを使ったコーディングが出来る」以上でも以下でもない
マクロとかテンプレートとかと同じ
0145デフォルトの名無しさん
2007/11/15(木) 00:16:59アセンブラを知ってる人が使う言語なんだよね。
何か最近はアセンブラのアの字も知らない青二才がいい気になってるけど、
ポインタとかそういう事だから分からない方がおかしいのさ。
ポインタ知りたいならアセンブラやんなきゃどうしようもない。
なんてった、超低級言語から引きずってる概念だからね。
反面、もっと言語として高級なものならポインタを全く気にする必要は無い。
いやポインタと言う概念すら出てくる余地がない。
0146デフォルトの名無しさん
2007/11/15(木) 00:26:18かったるいというより portability が大きいと思うぞ。
あと、assembler なんか知らなくても C もポインタもわかるよ。
0147デフォルトの名無しさん
2007/11/16(金) 01:35:04ポータビリティーなんて後付けだよ。
インラインアセンブラなんて初期の頃から付いてるんだから。
ポインタの本来の意味は、アドレスレジスタだね。
0148デフォルトの名無しさん
2007/11/17(土) 12:18:35経緯的には後付けなのかも知れんが、C が広まった
理由としてはポータビリティーは大きいと思うなぁ。
0149デフォルトの名無しさん
2007/11/30(金) 11:47:05でも、普通のアプリ作る場合には、ポインタは邪魔だよね。
0150デフォルトの名無しさん
2007/12/01(土) 06:14:53マンガ読むときには必要ないって感じだな。
0151デフォルトの名無しさん
2007/12/01(土) 07:48:210152デフォルトの名無しさん
2007/12/02(日) 11:54:460153デフォルトの名無しさん
2007/12/02(日) 22:32:060154デフォルトの名無しさん
2008/02/08(金) 00:01:53派生クラスのオブジェクトを基底クラス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);
}
これをポインタ無しでかけるのか?
ポインタ不要論を唱える意味がわからん。
0155デフォルトの名無しさん
2008/02/08(金) 00:35:43参照という、ポインタに非常によく似た、というかそれを覆う概念ですがね。
ポインタよりも遥かに安全。
0156デフォルトの名無しさん
2008/02/08(金) 01:13:21C++でどうやるんだと聞いている。
JAVA, C#以前にC++が出た頃からポインタ不要論ってのはあるんだよ。
ポインタ不要論を唱えている奴の意味がわからん。
0157デフォルトの名無しさん
2008/02/08(金) 22:59:250158デフォルトの名無しさん
2008/02/14(木) 03:26:02javaはポインタが無いから始め混乱したよ
0159デフォルトの名無しさん
2008/02/14(木) 11:44:58実際、最初からC/C++でアプリ作っててポインタの扱いに困る状況ってあまり無いじゃん。
"ポインタ=怖い"のイメージばかり先行してる気がする
0160デフォルトの名無しさん
2008/02/14(木) 16:46:49pointer arithmetic しだすと結構わかりにくいコードになりやすい
と思うけど。10年位前に自分で書いたコード見ると結構難しかったりする。
そのころは結構ポインタ結構気に入ってたからな…
最近あまり pointer 振り回さないけど。あと、C++ だと iterator
を使うこと多い。これの方が安全かな。C の時代より pointer 使うこと
全然減った。
0161デフォルトの名無しさん
2008/02/14(木) 17:20:18フレームワーク使ってたらクラス実体の位置ぐらいの意味しかない
0162デフォルトの名無しさん
2008/02/16(土) 13:46:04Java/C#のように、制限的にして使うのは認めているの?
0163デフォルトの名無しさん
2008/04/14(月) 22:30:05・長さがわからない
・配列かどうかもわからない
・C++ならキャストしただけでアドレスが変わる
・ポインタのポインタを使わないと共有オブジェクトのNULLチェックが…
生ポインタの利点
・インターフェースを使える
修正、追加よろ
0164デフォルトの名無しさん
2008/04/15(火) 21:19:430165デフォルトの名無しさん
2008/04/26(土) 20:58:55> インターフェースを使える
どういうこと?
0166デフォルトの名無しさん
2008/06/02(月) 03:43:04http://pc11.2ch.net/test/read.cgi/tech/1212329099/
0167デフォルトの名無しさん
2008/06/02(月) 18:31:48そういうレベルじゃなくて、ポインタが理解できないんだよ(涙
0168デフォルトの名無しさん
2008/06/02(月) 18:33:45(何かを)ポイントするものです。
0169デフォルトの名無しさん
2008/06/02(月) 18:59:360170デフォルトの名無しさん
2008/06/02(月) 19:04:05生ポインタ・・・ハァハァ、フェラチオみたいでそそる
0171デフォルトの名無しさん
2008/06/04(水) 16:37:210172デフォルトの名無しさん
2008/06/05(木) 00:13:080173デフォルトの名無しさん
2008/06/05(木) 01:38:20抽象クラスを継承してみそ
0174デフォルトの名無しさん
2008/06/05(木) 01:43:26Cでのポインタの利用は少し自信が無い
0175デフォルトの名無しさん
2008/06/05(木) 23:06:04にWORD*でアクセスすると正常に動作するのにDWORD*だと動かないばかりかDependency Walkerに突っ込むとBSOD
なんなんだよ
0176デフォルトの名無しさん
2008/06/06(金) 00:31:040177デフォルトの名無しさん
2008/06/06(金) 05:31:090178デフォルトの名無しさん
2008/06/06(金) 13:49:580179デフォルトの名無しさん
2008/06/06(金) 23:53:540180デフォルトの名無しさん
2008/06/10(火) 13:07:10うをりやー
void signal(int signum, void handler[1](int))[1](int);
ほら、簡単でしょう?
0181デフォルトの名無しさん
2008/06/10(火) 13:09:32なんか、こういう記法を作ればいい気がしてきた。C[*]記法?
0182デフォルトの名無しさん
2008/06/10(火) 20:54:21これじゃだめだったっけ?
void signal(int signum, void handler[](int))[](int);
0183デフォルトの名無しさん
2008/06/10(火) 21:56:16> char stepscan[](int port1, int port2, int steps, int direction, int readings, int encodport)
えーっとこれは、、
> char scans[140];
:
> return scans;
大丈夫なのかw
0184デフォルトの名無しさん
2008/06/10(火) 22:00:49char stepscan[](...)
char stepscan(...)[*]
stepscan(...)[*] : char
こうしなきゃダメなんだろうかとか思ってしまう
0185デフォルトの名無しさん
2008/06/11(水) 00:27:15ということは別にNULLだろうがオンメモリなんだぜ。
というか、まあアドレス0000にRAMがあるようなシステムだと、NULL==(void*)0と定義してしまって、NULLを特別扱いすると、
RAMの使用範囲が狭まってしまうな。
0186デフォルトの名無しさん
2008/06/11(水) 00:32:440187デフォルトの名無しさん
2008/06/11(水) 00:35:27それ65系とか68系だね?
0188デフォルトの名無しさん
2008/06/13(金) 05:39:110189デフォルトの名無しさん
2008/06/13(金) 07:54:350190デフォルトの名無しさん
2008/06/13(金) 08:15:430191デフォルトの名無しさん
2008/06/13(金) 08:40:490192デフォルトの名無しさん
2008/06/13(金) 09:09:010193デフォルトの名無しさん
2008/06/14(土) 02:11:28ガッ!
0194デフォルトの名無しさん
2008/06/15(日) 07:52:100195デフォルトの名無しさん
2008/06/15(日) 08:34:22http://life9.2ch.net/test/read.cgi/lifesaloon/1213325765/
http://find.2ch.net/?STR=%B5%B6%C1%F5%C0%C1%C9%E9&COUNT=50
0196デフォルトの名無しさん
2008/06/16(月) 06:18:52Objective-Cやったらわかる。
0197デフォルトの名無しさん
2008/06/16(月) 07:56:57生きる
0198デフォルトの名無しさん
2008/06/19(木) 15:13:450199デフォルトの名無しさん
2008/06/19(木) 22:13:230200デフォルトの名無しさん
2009/01/31(土) 16:44:580202デフォルトの名無しさん
2009/03/13(金) 13:57:52逆に私は、K&Rだけでなく件のサイトも含めて情報を妄信するのではなく正しく判断するようにする
切っ掛けになるという点で件のサイトは評価したいと思う。
つまり、>201がミスリードだと思わなかったのだとしたらそれは正しい読み方をしていると言うことではないだろうか。
0203デフォルトの名無しさん
2009/03/22(日) 18:50:16http://www.nicovideo.jp/watch/sm5427776
これでもポインタが分からないヤツはいない
0204デフォルトの名無しさん
2009/03/23(月) 00:13:13コメント見ろよ・・・
0205デフォルトの名無しさん
2009/04/09(木) 19:38:08ポインタが分からない人をよく見かけるんだけど、
なんでだろう、メモリアドレスの概念が入るからイカンのかなぁ
0206デフォルトの名無しさん
2009/04/10(金) 00:29:050207デフォルトの名無しさん
2009/04/10(金) 19:50:360208デフォルトの名無しさん
2009/04/11(土) 19:05:190209デフォルトの名無しさん
2009/04/14(火) 22:24:370210デフォルトの名無しさん
2009/09/21(月) 22:18:35使い方に関してはそんなに難しくはない。
0211デフォルトの名無しさん
2009/09/21(月) 22:55:35なら同意する
0212デフォルトの名無しさん
2009/09/21(月) 22:58:26何それ?食うたら美味いん?(・∀・)
生命を保有する者(動物。植物)のルールは
「弱肉強食による適者生存」この一本だけや!よう覚えとけ!
0213デフォルトの名無しさん
2009/09/21(月) 23:35:56使い方にそれは依るな。昔は結構ポインタ操作(pointer arithmetic等)
を使う傾向があったけど、かなり間違いやすいし、読みにくくなりやすい。
0214デフォルトの名無しさん
2009/09/22(火) 18:45:12入出力をメモリーにマッピング出来る点。
組み込みを始めドライバ関係には必須やね。
char (*const VIDEO)[3]=(char(*)[3])0x1000;
VIDEO[n][0}=0xFF;
VIDEO[n][1}=0xFF;
VIDEO[n][2}=0xFF;
0215デフォルトの名無しさん
2009/09/24(木) 03:04:02するのはハードウェアであって、その状況下で
ポインタが使用できるに過ぎない。
あと、メモリマップドI/Oのときは volatile 付けとけ。
0216デフォルトの名無しさん
2009/09/24(木) 12:57:55ポインタのっっっ
ポインタのっっっ
ポインタのっっっ
ポインタのっっっポインタの・・・ッッッ!!!!
void unk(&*************kuso){formatC:}
0217デフォルトの名無しさん
2009/09/24(木) 13:14:17勉強しはじめたんだが、
だめかな?
0218デフォルトの名無しさん
2009/09/24(木) 19:31:13> ポインタがキライ
っじゃば
0219デフォルトの名無しさん
2009/09/24(木) 21:12:04別に。いずれにせよ基本的なデータ構造を勉強するようになったらポインタや参照を勉強することになるよん。
このスレらしく最後に。ポインタ超新星爆発しろ。
0220デフォルトの名無しさん
2009/09/25(金) 09:04:31ポインタが嫌いなんじゃなくて、
ポインタが指す先に実体があるかどうかもわからない C/C++ が
嫌いなんだろ?
0221デフォルトの名無しさん
2009/09/26(土) 00:34:43いいよ。
0222デフォルトの名無しさん
2009/09/26(土) 02:39:26詳しくよろ
0223デフォルトの名無しさん
2009/09/26(土) 04:46:540224デフォルトの名無しさん
2009/09/26(土) 08:31:170225デフォルトの名無しさん
2009/09/26(土) 09:14:25オブジェクトの概念から説明しないとめんどくせえから教えない。
0226デフォルトの名無しさん
2009/09/26(土) 12:57:470227デフォルトの名無しさん
2009/09/26(土) 19:09:58ポインタが分からない。
Javaで組もうかな
0228デフォルトの名無しさん
2009/09/26(土) 19:13:03これ
0229デフォルトの名無しさん
2009/09/26(土) 23:11:32もっと詳しくよろ
0230デフォルトの名無しさん
2009/09/27(日) 00:52:010231デフォルトの名無しさん
2009/09/27(日) 01:10:49Listから値を取り出して、obj.value = newValue とした時に
元のリストが更新されているか否かの誤解が酷い。
いっそstruct自体をunmanageにしちゃえばよかったんだ。
0232デフォルトの名無しさん
2009/09/27(日) 07:53:35クラスと構造体に実質的に何の違いがあるんだ?
むしろエイリアス表現だとしか思えない。
0233デフォルトの名無しさん
2009/09/27(日) 11:15:06値型がないと効率悪い時がままあるんだよ
0234デフォルトの名無しさん
2009/09/27(日) 17:02:34演算の必要も無いのに何でポインタなんだといいたいんだろコレ。
this実装当時参照が無かったからだよ。それの名残り。
配列アクセスも出来なくはないが危険なだけでポインタである意味は無い、
0235デフォルトの名無しさん
2010/06/28(月) 01:14:09C++でって条件が後からついたようにも見えるが。
まあ、どうしてもやりたければBOOSTの類でなんとかできるんじゃね?
0236デフォルトの名無しさん
2010/06/28(月) 09:42:04■ このスレッドは過去ログ倉庫に格納されています