- 1 名前:デフォルトの名無しさん [04/07/18 03:31]
- あと、どの入門書が初心者には
最善でうかね?
- 109 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 00:38:19 ]
- 関数を使わないことのデメリットって何かあるかな
スコープの問題が思い浮かぶが、ブロックにすればいい 字下げして常に{}の対応を明確にすることで 関数より遥かに処理の流れがわかりやすくなる
- 110 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 08:33:33 ]
- C言語に限らず、どの言語でも関数はよくない
できる限りプリプロセッサへのマクロ定義とか エディタのタグジャンプ機能などに頼りつつ 得ようとする実行コードに近い形でソースを出力させた後に コンパイラを通すべき オブジェクトを細かく分ければ再コンパイル時間の節約にはなるだろうが たったそれだけのために保守性を犠牲にするのは馬鹿げている 関数は百害あって一利なしといえる
- 111 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 10:45:25 ]
- C言語の要はマクロ展開にあると思う
関数などがあるおかげで、関数に合わせてデータ型を気にしたりする必要が 増えて、不必要に言語学習を難しいものにしているし 型ごとに用意する関数には汎用性がなく煩雑になってしまう場合がある マクロでできることを関数などにして、 いかにも関数がC言語を特徴づける書式だというのは 頭のおかしい人がいってることだ
- 112 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 12:06:06 ]
- 関数ってリソースが限られていたころの苦肉の策だから
モバイルのセルフ開発でもない限り、近いうちに廃止されることだろう
- 113 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 18:53:15 ]
- コンパイラって、ソースコードをマクロ作業的にアセンブラに渡すコードに置き換える物だから
結局機械的な置換マクロ動作の繰り返しになる 機械翻訳的にCPUのネイティブコードに変換する プログラムの基本は関数よりもマクロだというのは プログラム作りを実行ファイル完成まで通してやったことの ある人は感覚的にわかるだろう
- 114 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 10:59:55 ]
- >プログラムの基本は関数よりもマクロ
- 115 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:22:40 ]
- 関数型言語は知らないのでコメントできない
C言語はただ手続きを書き並べただけの手続き型言語 関数というより手続きと戻値という感じだろ 利用価値ないよね
- 116 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:43:55 ]
- これはまた面白い気狂いが湧いてますね。
- 117 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 19:44:42 ]
- 関数(笑)
- 118 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:08:18 ]
- 1つの関数は1つのアプリケーション
関数は外部プログラムに等しい扱いとする 内部関数も関数は関数なので同じ あまり小さな単位で関数を作らず、 関数は完全に別プログラムとして動作させられる単位に限るべき 複数の人間で1つのソフトを作る場合でも ソースを持ちよって1つに合成(コピペ)するほうが、 関数を行ったり来たりしながらの手直しより断然効率的だろう
- 119 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:18:36 ]
- 実例うp
- 120 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 11:31:37 ]
- Windowsのメモ帳でソース開いて編集しているビギナークラスの人は
ファイルが巨大化すると困るだろうから、遠慮せずに関数を使ってくれ
- 121 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 22:44:53 ]
- Cで関数使うなって言ってるやつは、アセンブリでサブルーチン使わなかったの?
- 122 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 14:49:48 ]
- アセンブリは速度が命
オーバーヘッドがあるサブルーチンなど極力使うのは愚の骨頂
- 123 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 14:57:58 ]
- >極力使うのは愚の骨頂
なるほど、関数を毛嫌いしている人は日本語も怪しいと。
- 124 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:42:15 ]
- 再帰的に呼び出すのでもない限りサブルーチンにする必要ないだろ
マクロがあるのに
- 125 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 05:28:52 ]
- 何故関数を毛嫌いするのやら。
マクロにするくらいなら、関数でいいじゃん。どうせ、コンパイラがインライン展開してくれるんだから。
- 126 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 22:33:37 ]
- そんな部分は当然のごとくマクロだろ
なんでわざわざ関数にするの
- 127 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 02:43:59 ]
- 関数のほうが楽だから
- 128 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:44:42 ]
- いまさらだが>>1表面調和関数のような関数の事を言っていたんじゃまいか?
- 129 名前:デフォルトの名無しさん [2009/01/03(土) 11:58:54 ]
- パソコン(引き値:キーボード、戻り値:ディスプレイ)は関数である。
- 130 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 12:31:33 ]
- つ標準入出力
- 131 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 15:46:07 ]
- 1はそういうこといってねーよ
関数がわからなくてもC言語使えるか? だろ 理解可能だ たいてい、センスのある初心者は ifとforと配列まで覚えたらゲーム作ろうとする main関数に数百行かく センスないやつは、そもそも、関数まで覚えてもその規模のソースさえなかなかかけない
- 132 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 16:13:06 ]
- mainに数百行だけでまともなゲーム書けるか?
ウィンドウ処理だけでも百行近く必要なのに
- 133 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 16:28:10 ]
- 標準ライブラリを必ず使わなければいけないなんてことはないが、
標準ライブラリを使う機会は少なくない。どんなものがあるかを知るのも重要だが、 どういう仕組みで、どう使うか、最低限のことは理解しておくべき。 第一、main関数を使っている時点で、既に理解していないと困るんだが。
- 134 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 12:53:50 ]
- >>132
オセロとかテトリスとか300ぐらいですんだ希ガス
- 135 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 01:58:41 ]
- >>133
全然困らない。mainしか使わないのだからmainの書き方だけ覚えればいい。
- 136 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 11:03:26 ]
- >mainしか使わない
こういう奴の存在が困る。
- 137 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 05:18:54 ]
- そんなやつは身近にいないから困らないw
- 138 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 20:40:19 ]
- は?
- 139 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 07:10:18 ]
- 「関数ができない」とは、実行できないということか?
実行環境なしに紙だけで勉強するのは非常につらいが、 まあ不可能ではあるまい。
- 140 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 15:11:23 ]
- スレ勃てから5年にして初めての珍解釈登場
- 141 名前:デフォルトの名無しさん [2009/09/11(金) 00:25:05 ]
- へ?
- 142 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 02:33:55 ]
- >>35
プロトタイプ宣言のない関数は暗黙にintを返すと見なされるので intからvoid*へキャストできる環境ならfopenだって呼べるぞ。 ↓のコードにgcc4.3.2は警告すら出さない。 (もちろんこんなスタイルをオススメする訳ではない) main(){ void* FP = (void*)fopen("hoge", "w"); if(FP){ fputs("hoge", FP); fclose(FP); } return 0; }
- 143 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 16:15:35 ]
- アセンブラでサブルーチン使わなかったらメモリアクセスのオーバーヘッドでかすぎ
になるだろうが 実際に使えもしないバカがいい加減なことを語るな
- 144 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 16:56:04 ]
- いきなり何言い出してんのかと思った。
>>121-122 へのレスか。 つか、去年の話にレスするならアンカーくらい付けろ阿呆。
- 145 名前:ぅゅ ◆e6.oHu1j.o mailto:sage [2009/09/19(土) 17:55:13 ]
- 自作関数縛りのプログラミングとか楽しそう
define使っちゃうと面白くないからそれもなしで
- 146 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 06:46:45 ]
- 俺なら入力も出力も無いプログラムが出来そうだ
- 147 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 16:41:51 ]
- 非チューリングマシンか。
- 148 名前:デフォルトの名無しさん [2009/09/30(水) 21:07:11 ]
- 実は…
- 149 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 08:51:36 ]
- 入学式のときから俺…
- 150 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 13:50:38 ]
- お前のことが…
- 151 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 21:17:18 ]
- ヤらせろ!
- 152 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 15:15:16 ]
- >>143
アセンブラではそんなに大きなプログラムは作らないから 問題ない。構造が明確であることが大切。 サブルーチンは使うな。
- 153 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 15:17:13 ]
- >>152
>サブルーチンは使うな。 となると >構造が明確であることが大切。 構造も糞もないわけだが。 頭おかしいの?
- 154 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:42:10 ]
- はぁ?
あっちこっち飛ぶなって言ってるんだよ 1つの流れのなかにブロックでコピペしろって言ってるの
- 155 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 06:56:26 ]
- はぁ?
- 156 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 07:41:44 ]
- えっ?
- 157 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 10:18:15 ]
- >>154
もう書けば書くほどボロがでる状態。
- 158 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 16:28:59 ]
- サブルーチンは使うな
アンカーも使うな
|

|