SSブログ

ポインタ参照の様な、そうでは無い様な、やっぱりポインタ渡しだったのか?、C/C++のポインタ、、、の記事

masatoさんが見つけてきた面白サイト。よく見つけましたね。

ここね。
http://builder.japan.zdnet.com/sp/c-programming-language/story/0,3800083430,20370255,00.htm

そうかぁ、大変ですね。
この企画、新たな修正が行われなければ、記事の追加も行われないけれど、タイトルを見るとオブジェクト指向の指南までするつもりだったみたいだけれど、このままフェードアウトなのかなぁ。

この人、ライターとしてやっていくなら、不名誉なままフェードアウトせず、きちんと終らせた方がよいと思うのだけれど。
ああ、CQの付録基板の記事を書いているあの人並みに神経が図太ければよかったのにね。

nice!(0)  コメント(14)  トラックバック(0) 

nice! 0

コメント 14

noritan

「不適切なコメントを報告する」は、あるのに「不適切な記事を報告する」というのは、無いんですね。

ポインタは、参照渡しというよりも、場所渡しという言葉の方がふさわしいような。なにしろ、FORTRANのデフォルトが場所渡しですから。COMMONというのも有りましたっけ。

by noritan (2008-03-29 22:25) 

hamayan

でも28日の#2は、言いがかりの様に思えるけれど。
http://builder.japan.zdnet.com/sp/c-programming-language/story/0,3800083430,20370288-2,00.htm?mode=all#comment-2

char *s[]
なのだから、char型のポインタの配列であり、*sなら省略して書かなければ
*(s+0)で配列の先頭のポインタを指しているのだから。

by hamayan (2008-03-29 22:47) 

noritan

「さきほど*sで1つの文字列を表していたが、」の「さきほど」は、1ページ目の例

char *s = "Hello";

を指しているので、指摘の通りに*sは、文字列(char *)ではなく、文字(char)です。

「文字列から一文字を取り出すと長さ1の文字列になる」というのは、JavaのStringクラスのメソッドcharAt()なら正しい表現です。Pythonもそうだったと記憶しています。これらの言語では、「文字」という概念が無かったと記憶しています。

by noritan (2008-03-30 00:00) 

hamayan

> 「さきほど、、、」
ああ!なるほど、よく読んでいなかった。
これは失礼。

by hamayan (2008-03-30 00:16) 

k_t

元記事をパラっと読みました。
コメントにあった、元文章→修正文章 も見ましたが・・・。
恐ろしい・・・。
あまり人の悪口は言わないように気を付けていますが、
これはひどい。nが不定のままいきなり*nに値を書き込んでいる。
コンパイラで警告が出るはずですが、試してもいないんだろうなぁ。

by k_t (2008-03-30 09:36) 

hamayan

休み中は該当サイトの更新は出来ないでしょうから、月曜日に事態をどう決着するか、それが気掛かり。

nの値が実行する度に変わると書いているので不定だとは知っていたのでしょうけれど、それでも何らかの方法で安全な領域に確保されると思っていたと言う事なんだろうか。
Javaのエキスパートさんみたいですし、気持ちは判らないでもないけど、そこまでは高級ではないんだよ。

by hamayan (2008-03-30 11:01) 

noritan

なんのなんの、日曜日の昼間っから編集部さんの修正が入っていますよ。しかも、本質的な部分は何も変わっていない。

これは、修正前と修正後の間違い探しですか?

by noritan (2008-03-30 14:46) 

noritan

「参照渡しのような」で検索をかけると、ここに当たりました。

http://itpro.nikkeibp.co.jp/article/COLUMN/20061115/253812/
第7回 再帰処理と参照渡し(モドキ)のメリット・デメリット:ITpro

http://itpro.nikkeibp.co.jp/article/COLUMN/20061115/253844/?P=2&ST=develop
第8回 構造体でデータをスッキリと扱う:Tpro

この記事は、JavaScriptやVisualBASICから入る人向けですね。

http://members.jcom.home.ne.jp/aasaga/school/ptr/ptr1.htm
Software Museum A++ - ポインタ四方山話

これは、VisualBASICから入る人向け。

その他、多数ありました。「参照渡し」のほうから解説される時代になってしまったのですか。まいっちゃうな。

by noritan (2008-03-30 23:40) 

hamayan

うーん、他の言語をやっていて、さらにC言語もやってみようとすると、「何とかのような」と言った曖昧な表現を多用しないといけないのか、、、。難しいなぁ、人に説明するのは。

もっと直接的に「変数のポインタを値渡しする」とかの表現を行えばいいのに。
なんか気持ち悪いんだよね、技術的な話をしているのに、その曖昧さが。

by hamayan (2008-03-31 10:02) 

noritan

この筆者さんが、どこでどう間違えたのか興味があったので、WEBでの執筆を探してみました。

http://gihyo.jp/dev/serial/01/start-php/0004
今からスタート! PHP:第4回 PHP言語で記述できるもの
|gihyo.jp … 技術評論社

「変数(へんすう)とは,ある値を別の名前で言い換える(代入する)ために用いられます。」

変数を「入れ物」と表現することは良くありますが、「別名」と表現されたのを見たのは初めてです。これは、どこ(どの言語)の文化なのかな?

by noritan (2008-03-31 12:43) 

hamayan

> ある値を別の名前で言い換える

ある値に名前を付けるのだから、即値に名前を付ける?。
1と言う数字は”ポチ”、2は”クロ”とかそういった事ですね。
さながら
#define 1 ポチ
#define 2 クロ
ですか。

あと、「言い換える(代入する)」の解釈も私には難し過ぎる。

by hamayan (2008-03-31 15:52) 

hamayan

間違えた^_^;
#define ポチ 1
#define クロ 2
なにやってんだか。

by hamayan (2008-03-31 16:22) 

masato

今日になって件のページにはまたブックマークが増えましたね。
気になって Perl でのリファレンスについて確認してみたら、これまた面白いことになりました。

by masato (2008-03-31 19:51) 

hamayan

ようやくソースコードにも修正が入り始めましたね。
タイトルも、「何とかのような」を止めてますし。

そうか、そうか、第三者に直してもらえば良いのか。こう言った場合は。

by hamayan (2008-04-01 18:07) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。