1 名前:デフォルトの名無しさん [2012/01/13(金) 22:05:06.14 ] C言語の*入門者*向け解説スレッドです。 ★前スレ C言語なら俺に聞け(入門編)Part 94 toro.2ch.net/test/read.cgi/tech/1324648274/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 155代目 toro.2ch.net/test/read.cgi/tech/1325685876/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/
166 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:12:22.49 ] C++なの?
167 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:13:26.78 ] その「スタッククラス」ではコピーが必要ないの?初心者の俺にkwsk
168 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:13:44.46 ] まだ「スタックはスレッドセーフ」という妄想に取り付かれてるようだな。
169 名前:o mailto:sage [2012/01/15(日) 15:14:43.67 ] >>166 ANSI-Cベースなので、クラスは使わない方向で行きたいが、 コーディングはCDTでやってる。
170 名前: ◆QZaw55cn4c mailto:sage [2012/01/15(日) 15:15:06.19 ] >>110 いいえ、スタックとプログラムカウンタはスタックごとに別。
171 名前:o mailto:sage [2012/01/15(日) 15:15:31.34 ] >>168 そのスタックの話をしているわけじゃないのは分かっているよね?
172 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:16:33.51 ] お、QZにちょうどいい相手じゃないか? ちょっとどんな展開になるのか、他の人はだまってみてようよw
173 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:16:56.99 ] >>164 それで実装したコードを挙げてくれ。そうすればもっとスマートな解決方法を出すことができるかもしれない。
174 名前:o mailto:sage [2012/01/15(日) 15:17:00.12 ] >>172 そうだな。 素人が1人減るしねw
175 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:17:27.54 ] QZの意見を聞きたくなる場面なんてあまりないからなw ぜひ回答してやってくださいQZさん
176 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:17:43.90 ] >>172 ああ、うん。珍しくQZの自演暴れじゃないものが見られるかもしれんね
177 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:18:02.46 ] 実はo=QZという素晴らしいオチ!
178 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:21:33.63 ] 175 名前:あぼ〜ん[NGWord:QZ] 投稿日:あぼ〜ん 176 名前:あぼ〜ん[NGWord:QZ] 投稿日:あぼ〜ん 177 名前:あぼ〜ん[NGWord:QZ] 投稿日:あぼ〜ん
179 名前:o mailto:sage [2012/01/15(日) 15:22:27.21 ] >>173 実装なんかしてない。
180 名前:173 mailto:sage [2012/01/15(日) 15:28:35.84 ] QZじゃなくてすまんがレスされてしまったので。 >>179 もちろん実装していないことはわかっている。 >>5 がいい方法かどうかがわからなくて困ってたんだろ。 >>164 がいい方法だと思いついたのなら、それで実装すればいい。 これが気に入らないのであればレスしなくていいし、質問はQZあてに頼む。
181 名前:o mailto:sage [2012/01/15(日) 15:37:47.56 ] >>145 いや、そんなことを言っているんじゃなくて、 ・局所的にしか利用されず ・他スレッドからの参照に問題あり ・アクセスコントロールに関与する ・マルチスレッド対応の場合 +もろもろ のような条件があるにもかかわらず、グローバル変数を使おうとする人が世の中にいるのか? って話。 これだけ条件が整えば、 企業が規制するまでも無く、グローバル変数の利用を控えるんじゃないの???と
182 名前:o mailto:sage [2012/01/15(日) 15:40:14.15 ] >>163 先回りされて、涙目、だなwww
183 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:44:28.99 ] 解散
184 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:45:28.11 ] >>181 >>49 の段階ではマルチスレッドの話なんて出てきてなかったろ。 自分だけが知っている情報を他人も知っているはずだと考えるのはよくないことだよ。
185 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:47:12.80 ] >>184 局所に格納してたんだろう
186 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:48:25.92 ] >>185 ああ、さらにアクセスコントロールもされていたようだ
187 名前:o mailto:sage [2012/01/15(日) 15:55:36.98 ] >>184 条件が出てきた時点で、 「ああ、そうかグローバル変数じゃダメね」 ってレス付くなら分かるが、 >仕事上のコーディング方法を2chで質問かよwww とレスられた事で 玄人の( というのは間違いで本当は素人 ) の中ではこれだけ条件が付いても 「ああ、そうかグローバル変数じゃダメね」 とは思わないのかなぁ??? という話。
188 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 15:56:17.70 ] 日本語からやり直せ。
189 名前:o mailto:sage [2012/01/15(日) 15:57:47.80 ] >>188 涙目乙www
190 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:01:12.86 ] やっぱりo=QZか?
191 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:02:00.04 ] 質問主アスペ
192 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:02:35.15 ] キチがウヨウヨいると考えたくないしな
193 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:02:58.11 ] 言いたいことを簡潔的確に言えるようにならないと開発は無理。 理解力はその前に必要だけど、普通の人なら持っている。
194 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:05:00.03 ] 最近はその普通が通じないんだと思うよ。
195 名前:o mailto:sage [2012/01/15(日) 16:06:20.21 ] >>192 そうだよね。 これだけ条件が付いていりゃ、業務命令じゃなくても、グローバル変数は避けるよねぇwww
196 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:08:06.61 ] 別にグローバル変数だってスレッドセーフにすればいいだけ。
197 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:13:04.17 ] >>195 そんな話どうでもいいから本題をQZに質問するといいよ
198 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:18:55.49 ] 流れとは別の質問なんだけど スタック領域とかヒープ領域とかに対して グローバル変数やstatic変数がある領域って一般的になんていうの? データ領域?
199 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:23:22.30 ] >>198 スレ違いだが、それでいい。 記憶クラスでググれ。
200 名前:o mailto:sage [2012/01/15(日) 16:25:18.71 ] >>198 BSSかテキスト領域
201 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:25:51.54 ] >>196 だね。 そもそも、業務命令とか変な条件の前にグローバル変数は避けるのがデフォだし。
202 名前:o mailto:sage [2012/01/15(日) 16:26:33.99 ] >>200 おっと、途中で送信してしまった。 BSSとかデータ領域とかの話をしてるんじゃね?
203 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:27:30.80 ] >>200 > テキスト領域 市ね
204 名前:o mailto:sage [2012/01/15(日) 16:27:38.02 ] >>201 そうなんだよ。 だから >仕事上のコーディング方法を2chで質問かよwww と言われると、 本職の方は、そんな考え方もしているのかなぁ、と
205 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:29:16.03 ] >>203 なんだ? テキストってのはコードのことだ。 >>204 で、いつまで話ずらすの?
206 名前:o mailto:sage [2012/01/15(日) 16:29:56.40 ] なんか、みんな俺に冷たいなぁ。 俺がなんかしたんか?
207 名前:o mailto:sage [2012/01/15(日) 16:30:37.06 ] >>205 傍系の質問だべ。 答えられなきゃ、黙ってりゃ良いのに。
208 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:30:45.97 ] >>4 から読めば誰でもそうなるんじゃないかな。
209 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:31:36.72 ] QZ出てこいよ。 ちょっと質問が高度すぎるか? あ、質問というより回答がか。
210 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:40:35.12 ] 質問主はこれやってみろ。 ttp://www.the-fortuneteller.com/asperger/aq-j.html
211 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:43:21.52 ] >>206 質問に答えているのにスルーして続ける 知らない単語をさも知っているように間違って使う 関係ないところにつっかかって引き延ばす
212 名前:o mailto:sage [2012/01/15(日) 16:50:08.47 ] >>210 何言っているのか分からんが、 自己診断テスト得点計算結果 あなたの得点は16点です。 社会的スキル 3点 注意の切り替え 4点 細部への注意 1点 コミュニケーション 5点 想像力 3点 閾値内に収まっています。
213 名前:o mailto:sage [2012/01/15(日) 16:52:32.85 ] >>211 あいや、 スルーしているんなら、レス番号知らせてもらえると助かるよ。 >知らない単語をさも知っているように間違って使う これは、きちんと指摘してもらえればOK 心は広いから無問題だよ >関係ないところにつっかかって引き延ばす 新たな質問が出たら、きちんと解決しよう。 普通のことだと思うけど? これのどこが気に触る内容なのかな?
214 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:53:33.84 ] こういうのは分裂症?
215 名前:o mailto:sage [2012/01/15(日) 16:54:20.80 ] >>214 それ、なんてクラス?
216 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:00:01.71 ] >>213 ちなみにもう問題は解決してるの?
217 名前:o mailto:sage [2012/01/15(日) 17:18:10.40 ] >>216 よく分からんが、選択肢が2つ。 1つは、func1で文字列を保持 もう1つはmallocでmainに引き渡す。 実装してみないと分からないけど、前者かなぁ・・・と。 HTTPだけど、すべてのデータがmainに返さないといけないわけではない。 汎用性がないのが残念だけど、前者の方がよいかなぁ。 汎用性を高めるんなら、mallocかなぁ、と考えてる。 ただ、結合テストで問題が出そうな気がしてならない。
218 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:22:55.28 ] QZ早く出てきてやれよ。
219 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:23:54.61 ] >>217 マルチスレッドらしいから、各スレッドの役割を書いてみて
220 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:27:15.15 ] 先が永杉。 やるならスレ立ててそっちでやれ。
221 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:32:49.04 ] >>205 >> グローバル変数やstatic変数がある領域って一般的になんていうの? > テキストってのはコードのことだ。 市ね or >>207
222 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 18:24:45.54 ] 「空を自由に飛びたいな」 という夢があったときに パイロットを目指すかパイロットを雇うかの違いがある。
223 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 18:33:47.92 ] ドラえもんが何とかしてくれると思った
224 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 18:43:45.81 ] 脱原発(笑) 風力発電コスト高、モニュメントに オホーツク地方で唯一の風力発電施設の北海道興部町風力発電所が、修繕費用難のた めに昨年11月、完成から約10年で廃止され、風車を固定したモニュメントとして残 されることになった。 東日本大震災を受けた福島第一原子力発電所の事故後、風力発電は再生可能エネルギ ーとして注目されているが、小規模風力発電施設が直面するコスト高の課題を露呈した 格好だ。 同町の風力発電所は2001年3月に完成。風車は1基で、建設費約1億9000万 円は、経済産業省が所管する独立行政法人の新エネルギー・産業技術総合開発機構(N EDO)がほぼ半額を負担し、道の補助を除く約5000万円を町が負担した。隣接す る町の農業研究施設に電力を供給したうえで、余剰分は北海道電力に売電してきた。約 9年半で計6170万円の売電収入があり、6430万円の維持管理費と収支はほぼ均 衡していた。 しかし、10年10月に発電機のベアリングが破損して稼働を停止。欧州製で部品発 注のほか高所作業が必要となるため、修理には約4000万円かかることが判明した。 全額を町が負担しなければならないことから、町は「長期的に見た場合、コスト面で運 転再開は困難」(町企画財政課)と判断、発電所を廃止した。 ---------- www.yomiuri.co.jp/national/news/20120114-OYT1T00047.htm www.yomiuri.co.jp/photo/20120114-463522-1-L.jpg
225 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 19:03:46.42 ] >>222 自由に「飛びたい」だと、パイロットを雇うのでは微妙に要件を満たさないような気が…
226 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 19:11:29.57 ] スレが伸びてるなと思ったら、ほとんど罵倒じゃねか。
227 名前:o mailto:sage [2012/01/15(日) 19:39:26.42 ] >>226 そやね
228 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 20:08:53.37 ] >「空を自由に飛びたいな」 つ シャブ
229 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 20:47:14.71 ] >>225 航空法でがっちり縛られるから、パイロットになっても そんなに自由に飛ばせるわけではない 自分で飛ばすのも雇って指示するのも自由度では大差ないかな
230 名前:デフォルトの名無しさん [2012/01/15(日) 23:53:16.84 ] 民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している 野田内閣は過半数が帰化人 野田はどうだろうか 韓国人から賄賂を貰い、韓国人の集いに出席している野田は 首になった蓮○はシャブで逮捕歴のある人間と仲が良いな。蓮○自身はやってんの? い-6-1 テレビが言えない民主党のスポンサー=韓国北朝鮮 あとはもうわかるよな
231 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 00:19:48.44 ] 入門編の参考書見ながら勉強中のど素人です #include <stdio.h> //ビット数をカウント int count_bits(unsigned int x) { int count = 0; while(x) { if(x & 1U) count++; x >>= 1; } return count; } //ビット数を返す int int_bits(void) { return count_bits(~0U); } //ビット表示 void print_bits(unsigned int x) { int i; for(i = (int_bits()-1); i >= 0; i--) { putchar(((x >> i) & 1U) ? '1' : '0'); } putchar('\n'); }
232 名前:231 mailto:sage [2012/01/16(月) 00:20:21.66 ] //ビットシフト unsigned int sft1(unsigned int x, int pos) { return (x << pos); } //posビット目からn個のビットに1をセット unsigned int set(unsigned int x, int pos, int n) { return (x | sft1(~sft1(~0U,n), (pos - 1))); } int main(void) { print_bits(0); print_bits(set(0,1,32)); return (0); }
233 名前:231 mailto:sage [2012/01/16(月) 00:24:34.89 ] print_bits(set(0,1,32)); ここで1ビット目から、32個のビットに1をセットするようにしているのですが 31個のビットだと正常に011111?と1がセットされるのですが 上記のように32個だと、000000?となり1がセットされません なぜ、11111?な感じで1がセットされないのでしょうか?
234 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 00:29:24.01 ] >>233 ビット幅以上のシフトは未定義 自分の知ってる処理系では mod ビット幅 だけシフトされる
235 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 00:51:44.97 ] どうでもいいが、処理系が同じでも、CPUが違うと動作が違ったりもする。 186か286かその辺の時代以前には、律儀に32回シフト(ただしintは16bit)してた。
236 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 00:59:25.16 ] >>234 レスを元に調べてみたら、ビット演算のWikipediaにそれらしい内容が書かれていました 今回の場合だと 31 mod 32 で31ビットシフトするが 32 mod 32だと0でビットシフトしない 33 mod 32だと1ビットシフトする というこで理解できました ありがとうございました
237 名前:デフォルトの名無しさん [2012/01/16(月) 01:10:56.78 ] 高速フーリエ変換使って1万桁同士の掛け算を行うプログラムを作れ。 そういう課題が出た。さっさと教えろ。お前ら偉いだろ。
238 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 01:18:08.73 ] 宿題は宿題スレに逝けと言ってるだろ、このタコ。
239 名前: ◆QZaw55cn4c mailto:sage [2012/01/16(月) 03:23:46.56 ] >>65 こんなのでどうですか? ideone.com/SGJmx
240 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 08:25:12.57 ] >>237 作ってやるから20万円よこせ 偉い人の時間は高いぞ
241 名前:デフォルトの名無しさん [2012/01/16(月) 14:33:54.35 ] ステルスマーケティングまとめ A www.dotup.org/uploda/www.dotup.org2522270.png B www.dotup.org/uploda/www.dotup.org2522750.png → ステマの黒幕は ソニー(アニプレックス)、角川 関連キーワード はちま 清水鉄平(はちまの本名) KND 元ソニー会長出井伸之 はちま管理人によるみかじめ料を払わない特定メーカーへの叩き まとめサイトは企業が運営 コメント欄も社員の煽り(が殆ど) おまけ 2ch監視が仕事のスクウェア社員w↓ 96 名前:番組の途中ですがアフィサイトへの転載は禁止です[sage] 投稿日:2012/01/16(月) 12:41:25.60 ID:X9dFbc830 proxy1.square-enix.co.jp - 2012/01/16 12:38:51 - Japan - Commercial(企業) IP :61.195.58.8 (不明) Referer :ipatukouta.altervista.org/php5/ USER-AGENT :Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) 【株式会社KND・清水鉄平】はちま起稿が特定され黒い関係が明らかに★78【黒幕を特定せよ】 awabi.2ch.net/test/read.cgi/poverty/1326691256/
242 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 22:36:48.88 ] リスト構造も使い易さを追求して、様々な形態の物が存在する。 使い易さを追求して実現された種々の機能と それを実現しているリスト構造の具体例について 解説せよ。 という問題があるんだが、答えるのにチェイン法とか機能の説明でいいのかな?
243 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:20:46.73 ] >>238
244 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:24:32.44 ] >>242 いいと思う。
245 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:27:06.26 ] >>244 ありがとう ついでなんだが、オブジェクトのデータと処理とを組み合わせて 合理的に管理するためのプログラミング手法ってなんて言うんだったっけ?
246 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:27:21.98 ] >>244 ありがとう ついでなんだが、オブジェクトのデータと処理とを組み合わせて 合理的に管理するためのプログラミング手法ってなんて言うんだったっけ?
247 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:29:04.14 ] oops!
248 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:34:49.93 ] oh... 連レスすまない
249 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:50:08.16 ] >>246 OOP, Object Oriented Programming
250 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:58:46.59 ] Object oriented programming style アクネドート: 実用に成るコードを完成させるためには 定義の段階で同じ識別詞、同じ記述が繰り返し繰り返し現れる
251 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 00:34:19.57 ] 関数プロトタイプ宣言について、どのような時に用いるか、なぜ必要なのか教えていただけないでしょうか。 よろしくお願いします。
252 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 01:34:11.86 ] >>251 その関数を呼び出す前に、その関数を使用する場合 プロトタイプ宣言しといて、実装を後に実装する。 あと、ライブラリを作成するとき、ヘッダに宣言をまとめて 書いといて、実装をコード側に書く。
253 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 10:04:03.55 ] >>246 「データ」が「ステート(状態)」の事を意図してるなら、OOP。 「データ」一般なら色々あるからCTMCPなどが参考になる。
254 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 12:29:37.79 ] 以下のように aが32未満のときは、AしてからCして、Dする aが224より大きいときは、BしてからCして、Dする それ以外のときはAもBもCもせずにDする というような制御構造を、ソースレベルでも、出力されるアセンブラレベルでも 重複コードがないようにするには、gotoを使うしかないのでしょうか? if(a < 32){ b = a; //A }else if(a > 224){ b = 256 - a; //B }else{ goto HOGE2; } HOGE1: c = b * 100; //C HOGE2: //D
255 名前:254 mailto:sage [2012/01/17(火) 12:30:35.88 ] d = a < 32; e = a > 224; if(d || e){ if(d){ b = a; //A }else{ b = 256 - a; //B } c = b * 100; //C } //D こういうのもifが2つあって、なんだか冗長です。
256 名前:254 mailto:sage [2012/01/17(火) 12:30:55.20 ] void hoge(int *pc, int b){ *pc = b * 100; //C } --- if(a < 32){ b = a; //A hoge(&c, b); }else if(a >> 224){ b = 256 - a; //B hoge(&c, b); } //D これも関数呼び出しコードが重複してるし 関数呼び出しコストがもったいないです。 inlineにすれば、呼び出しコストはかからないけど //Cの部分がアセンブラレベルで重複してしまいます。 結局gotoを使わないと、重複は避けられないのでしょうか?
257 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 13:26:36.03 ] if( a < 32 ){ //A } if ( a > 224 ){ //B } if( ( a < 32 || a > 224)){ //C //D >>254 は、コードが複雑になった場合に追っかけるのが面倒 >>255 は、何やってるのかわかりづらい >>256 は、今時のシステムならそのくらいのコスト気にすんな。関数名次第では分かりにくい。 自分は、同じ基準で判定する方がコードが分かりやすい。 このケースの場合、a を基準にするのではなく、 //A、//B、//C、//Dのそれぞれのコードがどういう条件なら実行できるか、 を同じレベルで書いた方が後で見て分かりやすい。
258 名前:254 mailto:sage [2012/01/17(火) 14:59:48.07 ] なるほど、>>255 でネストするよりわかりやすいです。 多少冗長になっても、メンテを考えればgotoなど使わない方がいいと言うことですね。 ありがとうございます。
259 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 15:13:29.39 ] //Cの条件はb>=32か?
260 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 16:08:24.42 ] goto使わなくても大抵コンパイラ後はgoto相当の処理してるんだがな。
261 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 16:14:30.48 ] goto使ってもいいと思うんだけどな。
262 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 16:30:33.18 ] あれならこうかな。 bool a32 = (a < 32) bool a224 = (a > 224) if (a32 || a224) { if (a32) { A(); } else { B(); } C(); } D();
263 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 16:38:28.45 ] >if (a32 || a224) { if (a32 | a224) { の方がいい場合あり。 昔逆アセンブルしてみたら if(a32) goto xxx; if(a224) { xxx: ... } 的な処理してた。 まぁ処理速度必要で、 一秒間に数千、数万回実行される処理でなきゃそこまでする必要は無いと思う。
264 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 16:40:24.40 ] 組み込みとか4kデモとかじゃないかぎり気にせず関数化
265 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 16:40:35.91 ] って、>>262 は>>255 と同じだったか。 >>263 そこまで速度を必要とするならそもそも条件判断をしないようにすればいい。
266 名前:254 mailto:sage [2012/01/17(火) 16:50:41.22 ] 4kではないですが、動画の処理なので、関数呼び出しコストはかなり気になります。 条件判断しないようにすればいいとは、どのように書けばよいのですか?