ページ 1 / 1
【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 16:04
by たかぎ
連続質問失礼します。
sizeofを関数だと考えている人はどれぐらいいますか?
皆さんご自身のことや周りの人の状況など、何でもよいので情報をください。
また、return, throw, typeidが関数だと考えている人についての情報もあわせて教えてください。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 18:15
by たいちう
sizeofが関数じゃないと読んだのは、覚えたての頃でした。
returnを関数と思ったことはないですが、return(0);などはよく目にしますね。
その人たちは関数と思っている、というよりは、
どちらかというと何も考えていない人の方が多いと思います。
(あくまでも私の印象。以降も)
throwについてですが、例外を受け取るだけでなく、
投げる側のプログラムを書く人については、
関数と勘違いしている人は殆どいないと思います。
typeidは私は使いませんし、特に意識したこともなかったです。
他人の書いたtypeidを読んだ覚えもありません。
(入門書のような本で見かけていたとしても記憶に残っていない)
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 18:32
by たかぎ
> たいちうさん
ご意見ありがとうございます。
Googleで「C言語 "sizeof関数"」を検索すると、多いとはいいませんが、それなりの数がヒットします。
ちなみに、「"sizeof関数"」だけだと、PHPに関する記述が大量にヒットするのであてになりません(PHPではsizeofは関数なので)。
> returnを関数と思ったことはないですが、return(0);などはよく目にしますね。
> その人たちは関数と思っている、というよりは、
> どちらかというと何も考えていない人の方が多いと思います。
そうですね。
これについては、ずいぶん前に「returnのプロトタイプ宣言はどのヘッダにあるのですか?」という質問を受けたことがあります。
その質問をした人物は、そんなによくわかっているとはいいませんが、何も考えていないというほどひどくもなかった気がします。
> throwについてですが、例外を受け取るだけでなく、
> 投げる側のプログラムを書く人については、
> 関数と勘違いしている人は殆どいないと思います。
sizeofやtypeidと違って、必ずオペランドに式を取りますので、throw(x)のように括弧を常に付ける人であれば、関数と誤解しそうなもんですが...
まあ、throwを使うのはそれなりにわかっているプログラマということかもしれませんね。
> typeidは私は使いませんし、特に意識したこともなかったです。
> 他人の書いたtypeidを読んだ覚えもありません。
確かにtypeidの遭遇頻度は少ないですね。
throw以上に、わかっている人しか使わないのかもしれません。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 18:51
by Tororo
VC++ を使っていて、色の設定を変えてあるので
予約語?(int for)等は違う色になっているので、関数ではないと思っています。
関係ないかもしれませんが、return(0) と言うのは (0)を返しているのか、0を返しているのかが、
よく分かっていません。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 18:54
by たかぎ
> VC++ を使っていて、色の設定を変えてあるので
> 予約語?(int for)等は違う色になっているので、関数ではないと思っています。
確かにそういうこともありますね。
> 関係ないかもしれませんが、return(0) と言うのは (0)を返しているのか、0を返しているのかが、
> よく分かっていません。
0と(0)は表記以外の違いはありませんね。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 19:18
by たかぎ
そういえば、「苦しんで覚えるC言語」のようなサイトでも、下記では、「配列の要素数を知るには、sizeof関数を使用するのが簡単で確実です。」と記述していますね。
http://9cguide.appspot.com/22-01.html#S2
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 19:40
by Poco
私の周りにはいません(と思いたい!)。
#いたら矯正します。。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 19:50
by たかぎ
> 私の周りにはいません(と思いたい!)。
> #いたら矯正します。。
了解です。ありがとうございました。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 22:34
by ムンバ
こんばんは!
私は今、勉強してる本の中に出てくる関数や演算子(配列)やキーワード?など
今まで勉強してきた復習も兼ねて、最初のページから出てきた順に
関数や演算子・配列やポインタや構造体などなどの例をあげながら
自分だけが見やすい様に、自分のページにまとめながら本の勉強を進めてます。
すぐ忘れちゃうから、こうしてます。(涙
ですので最近、こちらの掲示板で質問させて頂いた内容は
過去に読んだ本や、検索しまくったサイトで、自分なりにまとまりが付かず
こちらの掲示板でお聞きすれば、何とかまとまりが付くんじゃないかと・・・
甘えてるんですよね。こちらでお答え頂くと、自分の中でまとまりが付くんです。
何故か安心できるんですよね。^^
連投気味になってしまっておりますが、自分も必死ですのでご容赦お願い致します。
私が、リンク先のアドレスの頭の H を削除するのは(こちらのBBSは、見てる方が多いので)
リンク先のサイト(サーバー)に集中してアクセスされるのを防ぐためのみの理由からです。
でっ、たかぎさん。御忙しい所、また日記みたいになってしまい、ごめんなさい。(謝
------------------------------------------------------------------------------------
sizeof
分類は、(自分では)今の所「演算子」と理解しています。
参考サイト
http://www.skpme.com/c/c_sizeof.shtml
(↑こちらのサイト、サイト内の内容を引用する場合などは許可が必要との事です。)
return
分類、調べるの忘れてました~!今から調べまくります。
return って、あるのが当たり前の様に使っていたので・・・。
return については
「関数の最終行に居て、値を返すやつ(奴)」としか思ってませんでした。^^;
throw, typeid につきましては、まだ勉強していませんので、すみません。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 22:41
by たかぎ
> 私が、リンク先のアドレスの頭の H を削除するのは(こちらのBBSは、見てる方が多いので)
> リンク先のサイト(サーバー)に集中してアクセスされるのを防ぐためのみの理由からです。
うちのサイトにここ経由で来る数を見る限り、大したことはありません。
OKWaveや知恵袋やWikipediaや2ちゃんねるからも来ますが、いずれも大したことはありません。
ですので、そんなに気を使う必要はありません。
> sizeof
> 分類は、(自分では)今の所「演算子」と理解しています。
了解です。
ほかについても調べてみてください。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 22:46
by ムンバ
速っ!(爆
>>(略)ですので、そんなに気を使う必要はありません。
了解しました!
今から、return 行ってきま~す!
---追記---
上述、sizeofについて紹介させて頂いたサイト
一部の引用でしたら、許可は必要なかったです。
お詫びして、訂正させて頂きます。(謝

Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 22:50
by シエル
関数だと思ってました…
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 22:54
by たかぎ
> シエルさん
> 関数だと思ってました…
こういう意見を待っていました(変な意味ではなく)。
ありがとうございます。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 23:08
by Dixq (管理人)
> こういう意見を待っていました
きっとここで10人中9人が「知っていた」と答えたとしても全体の9割が知っているだろうという推測は出来ないんでしょうねぇ。
・・なんてことは既に想定の範囲内でしょうけど。
なかなか「知っている」ことはアピール出来ても「知らない」ことをわざわざアピール出来ない場合が多いですもんね。
後、雑談トピに書きこむ人は普段の質問者より回答者の方が多い傾向にあることからも、偏っちゃいますね。
なのでシエルさんのようなコメントって有り難いですね。
私はというと、tororoさんの仰るようにVC++では青くなるので知っていた程度でしょうか。
最近VIエディタばかり使うのでこういう便利な機能が懐かしいです・・。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月02日(水) 23:14
by たかぎ
> Dixqさん
> きっとここで10人中9人が「知っていた」と答えたとしても全体の9割が知っているだろうという推測は出来ないんでしょうねぇ。
その通りです。
> なかなか「知っている」ことはアピール出来ても「知らない」ことをわざわざアピール出来ない場合が多いですもんね。
> 後、雑談トピに書きこむ人は普段の質問者より回答者の方が多い傾向にあることからも、偏っちゃいますね。
> なのでシエルさんのようなコメントって有り難いですね。
そうなんですよ。
得られた結果をそのまま統計するのは愚の骨頂なのでもちろんやりませんが、どの程度のバイアスが掛かっているのか見極めるのはなかなか大変です。
> 私はというと、tororoさんの仰るようにVC++では青くなるので知っていた程度でしょうか。
結構あの色分けに誘導されるもんなんですね。
だとすると、MSの独自拡張のキーワードと標準のキーワードの区別がつかなくなったりしませんか?
> 最近VIエディタばかり使うのでこういう便利な機能が懐かしいです・・。
色分けはともかく、インテリセンスに頼り切っていた人とかだと、viではコーディングできないでしょうね。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月03日(木) 00:17
by あ~る
恥ずかしさを抑えて書き込み書き込み
僕も関数だと思ってました・・・
()で囲ってるから標準で実装されてる関数だと思ってました。
あ、あと言い訳ですがどこかのサイトにも関数って書いてあった気が(ry
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月03日(木) 00:36
by たかぎ
> あ~るさん
> 恥ずかしさを抑えて書き込み書き込み
そんなに自虐的にならなくても...
> 僕も関数だと思ってました・・・
> ()で囲ってるから標準で実装されてる関数だと思ってました。
そう考える人は多いですね。
種明かしをすると、sizeofのオペランドを括弧で囲まなければならないのは型名の場合だけです。
つまり、
sizeof(int); /* ← 括弧が必要 */
int a;
sizeof a; /* ← 括弧は不要 */
ということになります。
> あ、あと言い訳ですがどこかのサイトにも関数って書いてあった気が(ry
例えば↓とか
http://support.microsoft.com/kb/60332/ja
本文はsizeof演算子なのに、なぜか見出しは「sizeof()関数」です。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月03日(木) 00:40
by レッドリ
自分もsizeofは関数と思っていました。
演算子でしたか。
ZeroMemoryが関数なのでそこから勘違いしていたようです。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月03日(木) 00:48
by たかぎ
> レッドリさん
> ZeroMemoryが関数なのでそこから勘違いしていたようです。
すみません。sizeofとZeroMemoryがどう結びつくのかがわかりませんでした。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月03日(木) 12:27
by Tororo
横槍ですが
レッドリsの言いたい事は、
struct A{
int b;
int c;
};
A test[10];
ZeroMemory(test, sizeof(A)*10);//初期化
↑こんな感じの事ですか?
違っていたらごめんなさい^^;
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月03日(木) 12:46
by レッドリ
そうです。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月03日(木) 13:01
by たかぎ
> ZeroMemory(test, sizeof(A)*10);//初期化
> ↑こんな感じの事ですか?
なるほど。
結論からすれば全然関係ないのですが、ここから類推したということですね。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月03日(木) 13:02
by たかぎ
このあたりでいったん解決にしておきますが、何かありましたらよろしくお願いします。
Re:【雑談】 sizeofを関数だと考えている人はどれぐらいいますか?
Posted: 2010年6月03日(木) 21:55
by ムンバ
こんばんは。
お返事、遅くなりました。
return
呼び出しもとの関数にreturnの後ろの
数値または変数の値を渡して関数を終了する文。
分類するとすると、if文やwhile文の様な「文」という事でした。
「猫でもわかるC言語・・・」内でも、return文と表現されていました。
---↓編集・追記---
書き忘れてました。
分岐文とか制御文(breakなど)と分類してるサイトもありました。
---↑編集・追記---
今日は、書き捨てで失礼します!
勉強せねば。^^
お疲れ様です!
