Cのマナーいろいろ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG例えば,コメントの書き方,関数の説明など.
0002デフォルトの名無しさん
NGNGリーナス ジョブス
/⌒◆ ◆⌒\
/ 冫、) ( ヘ´ ヽ
_/ ` ∠_ ヽ´ 人
イ ゝイノ | ヽ 冫y彳 (;⌒ヽ
|| ヘ 。 | /| / 。 | /|ヽ
|| | 。 / | | ゲイツ | | 。 /.| | |
| | 。 / | | | | 。 / .| | |
|⌒| 。 | | /⌒◆ | | 。 _| イ| |
\|` ヽ ヽ/ / 冫、) ゞ |`ヽ | | |
/|\人/\| ―/ ` ∠_ \|\人ヽ /|冫
|| || | | | | /| ゝイノ | \ ヽ|| | |/ |
||/|| | | | | / '|| 。 || \ || | || /
|| | | | | / /| 。 / |\ ) || | ||/ |
ヽ| | | |. ┌|⌒|_| 。 / |/⌒/ | || | | | |
ヽ| | | || | | | 。 / _/ | | ヽ| | | |
| | | || |⌒|\人ヽノ|⌒| | | ヽ| | |
| く__く >>  ̄\__ | ̄ヾ.くく >_ > )
\ >. /ヽ.__/  ̄\./ ̄/ < /
`ー' .  ̄ ̄  ̄ ̄ `ー'
0003manko_chinko ◆c2rpKRNM
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG質問スレより単発スレの方が回答が早く付くという事例を作ってはいけません。
味を占めた厨が第二、第三の単発スレを生み出し、この板の秩序が崩壊します。
私たちのマターリ平和な板を維持するため、今こそ団結しようではありませんか!
00061
NGNG/***********************************************************
*
* 関数 hoge
*
**********************************************************/
/*----------------------------------------------------------
コメント
--------------------------------------------------------*/
0007デフォルトの名無しさん
NGNG/∴∵∴ヽ
|∵∴∞ヽ| ___
|∴/= ♀=| <うるせー馬鹿!
\| ▽/  ̄ ̄ ̄
 ̄ ̄
0008ななし
NGNGそれは、パフォーマンス(スループット)上の配慮でしょうか?
>>6
コメントは//の方が無難ではないですか?
(今日び、大半のエディタでフォントの表示色を変更できるから、
あまり問題ないのかもしれませんが)
0009デフォルトの名無しさん
NGNGCで//が使えるのは1999年の規格からでしょ
0010manko_chinko ◆c2rpKRNM
NGNG> それは、パフォーマンス(スループット)上の配慮でしょうか?
かっこいいから。
0011デフォルトの名無しさん
NGNGそうだな、かっこいい。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGDel房は黙ってふんどし
0019デフォルトの名無しさん
NGNGとか?
0020デフォルトの名無しさん
NGNG通常当たり前では?
0022デフォルトの名無しさん
NGNG極端な例でいえば、malloc()とfree()のwrapper作ってしまえば、同じ関数内じゃ呼ばないし。
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG・C はふたりの合意で行うもの
・C は「非売品」
・C にタブーはない
・セイフ C を心がけよう
・ふれあいは清潔に
・あせらず、相手を思いやる
・基本は愛情をそそぐこと
・要求はフランクに伝えること
・苦痛を感じたら無理をしない
・俗説に惑わされないで
・初体験に適齢期はない
0026デフォルトの名無しさん
NGNG人に聞けない疑問・不安・悩みを解消します
・初めての C は痛くて当たり前
・血が出なければ処女じゃないは,間違い
・初めての C で挿入できなくても大丈夫
・初めての C で「感じる」のはむずかしい
・オーガズムに定型はない
・初めての C で妊娠してしまうこともある
・ピルは今一番安全で確実な避妊法
・乳房は大きければいいわけではない
・乳首や性器の色は体質によって決る
・C 経験は体にでない
・毛深さは悩むよりお手入れで解消
・体臭は魅力的なにおいに変えられる
・ペニスは大きければいいの?
・包茎の手術は慎重に
・触られても感じないのは不感症?
・マスターベーションは自由
0027デフォルトの名無しさん
NGNGfopenって中でmallocするよね?
あれってfclose内でfreeすると思うんだけど。
0028デフォルトの名無しさん
NGNG新人のくせに、前橋のとんでも本か何かを読んで、分かった気になって、
「そもそも、ポインタとは...」とか言い出さない。
0029デフォルトの名無しさん
NGNG19も20もよっぽどでっかい関数を書いてるんだろうよ
0030デフォルトの名無しさん
NGNGああいう完全にカプセル化されていて、必然性のある関数でそれが行われるのは良いでしょう。
0031デフォルトの名無しさん
NGNG専用の解放関数用意しておけば、だいたいOKでそ。
0032デフォルトの名無しさん
NGNG・フィニッシュで顔射しない
0033C のマナー
NGNG- Gスポットにこだわらない
- 「自分流」を押しつけない
- 「いったフリ」をしない
- マグロにならない
- オーラルセックスを拒否しない
0034デフォルトの名無しさん
NGNGシフト演算使う?コンパイラは最適化する?
厨房ですか?ハァ?
最近のCPUでは分岐予測出来なくなって、
逆に遅くなるって!
2chもレベルがおちた。
0035デフォルトの名無しさん
NGNGせめてベンチマークくらい出してくれればねぇ。
2chで識者気取ってる奴のレベルも落ちた。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1029584140/
Cのマナー
http://pc.2ch.net/test/read.cgi/prog/1030001269/
0039デフォルトの名無しさん
NGNGちょっと叩くだけで一気に厨房に。
典型的パターンだ。
0040デフォルトの名無しさん
NGNGはいはい、しんでね。
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=17&fi=no
やってみたが乗算、除算を使ったほうが遅くなっているような気がする。
どこがおかしいのか教えてほしい。
それとも俺のマシンのCPUが古いのか?
0044デフォルトの名無しさん
NGNGステレオタイプって奴では?
0045デフォルトの名無しさん
NGNGhttp://www.intel.co.jp/jp/developer/design/pentium4/manuals/index.htm
の中の
インテル(R) Pentium(R) 4 プロセッサおよびインテル(R) Xeon(TM) プロセッサ最適化リファレンス・マニュアル (日本語 PDF ファイル: 3,277KB)
の2-11ページに書いてあるからよくよめ。
どうせ俺が言っても信じないだろうから。
つーか、おまえもし技術者だったら終わってるね。
しんだら?
0046デフォルトの名無しさん
NGNGまいったなー
でも、いいやー
困ってないしー
0047デフォルトの名無しさん
NGNGあほ!
知らないから終わってるとか言ってんじゃないよ。
自分でちゃんと調べようとする気がないから、
終わってんだよ。
それくらいわかれ。ばか。
0049デフォルトの名無しさん
NGNG005046
NGNGもっと言っちゃえば、俺的にはどうでも良いんだわ、こんなこと。
やっぱり終わってんのかなー
005134=38=40=45=47
NGNG0052デフォルトの名無しさん
NGNG射精スピード早くすんの?
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNGその中の、2-6に
乗算の代わりにシフトを使用する
とあるが。
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNG低レベルの彼曰く高かったらしい。
0057デフォルトの名無しさん
NGNGなんて贅沢なんだ!
0058デフォルトの名無しさん
NGNGZ80厨しね
0059デフォルトの名無しさん
NGNGって言ってみたい年頃なんだろう (´ー`)y-~~
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG006463
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNGItanuim厨カエレ
0067デフォルトの名無しさん
NGNGあげ!
0068デフォルトの名無しさん
NGNGint mona(void)
{
printf(" Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
printf("( ´∀`)< ぷぷp\n");
printf("( ) \______________\n");
printf(" | || |\n");
printf("(__)_)\n");
return いってよし;
}
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG* 関数の説明
*
* @param arg 引数説明
*
* @retval 0 成功
* @retval -1 失敗
*/
void func(void* arg) {…}
$ doxygen
マンセー
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNGシフト演算だと速くなるか遅くなるかはスレ違いではないかと。
0073デフォルトの名無しさん
NGNGマナーというかコーディングスタイルというか、
bit演算以外でシフトを使うのはよくないコーディングスタイルだと思うな。
シフトとか使おうが割り算掛け算しようが、
その辺はコンパイラが適当にやってくれると期待してもいいだろうし、
べつにそうなっていなくても大抵問題にはならない。
そんな小手先のテクニックで悦に入ってないで、
もっと別のことで速度を稼ぐべきだ(その必要があるなら)。
もちろん何事にも例外があって、
コンパイラがシフト命令を吐かない&&シフト演算の方が速い&&速度が最重要
って場合にはシフト演算を使うこともあるだろうけど、そんな機会は滅多にない。
0074デフォルトの名無しさん
NGNGそういう意見なら同意。
あくまでも速いか遅いかを議論するのがスレ違いではと思ったわけで。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGあなたがですか?
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGする前に、まず互いに相手をやさしくなであう。
0084デフォルトの名無しさん
NGNGA.cがB.c内の関数を呼んだ時には、B.cはA.cの関数を呼ばない。
呼んでいる場合にはモジュール構成が間違っていると判断する。
循環的な相互参照もないこと。A.cがB.hをインクルード、
B.hがC.hをインクルードして、C.hがA.cのシンボルを見ていないこと。
0085デフォルトの名無しさん
NGNG* これ以降コント
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG今でもvoidにしてる人いるよな・・・
0089デフォルトの名無しさん
NGNG相互参照が何故悪いの良く判らないのですが。
C++ではクラス単位でファイルを分けることが多いから、
相互参照は当たり前なんですけど。
0090デフォルトの名無しさん
NGNG終った後は、シーツを汚さないように慎重に!
今日ラブホで、DCのねえちゃんとエチしたとき、シーツをザーメンで汚して怒られますた。(w
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG>C++ではクラス単位でファイルを分けることが多いから、
>相互参照は当たり前なんですけど。
依存関係の強いクラス同士は一つのファイルに入れるのが
普通だと思うんですが。
それに、依存関係が複雑化するのはクラス設計が間違っている
場合にも見られます(間違ってなくても複雑化することはある)。
テンプレートや仮想関数を正しく使ってますか?
0094デフォルトの名無しさん
NGNGほっといてやれよ。
あわれすぎて>>84へのレスが思いつかないよ…
0095デフォルトの名無しさん
NGNGきみはチェックアウトの手続きを知らんようだが
そんなことで怒られたりしないよ
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGテンプレートはともかくCOMはCでも使えるぞ
おまえ仮想関数と関数ポインタの違いは何だと思っている?
0098デフォルトの名無しさん
NGNG別に1つのファイルに入れる必要はないと思うが。
それには理由があるのか?
0099デフォルトの名無しさん
NGNG>それには理由があるのか?
切っても切れぬ関係にある二つのオブジェクトを
二つのファイルに分割して保存する意味があるのか?
一緒に使わないと動かないなら迷わず一つに格納するのが正解だと思うが。
0100デフォルトの名無しさん
NGNG> おまえ仮想関数と関数ポインタの違いは何だと思っている?
仮想関数は C では使えないものと認識しているが。
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNGだから、相互でなければいいわけで。
コールバックを提供する側が、される側にexternするシンボルがなければ良し。
ポインタを渡すだけなら不要だろ?
0104デフォルトの名無しさん
NGNG使っておけば、相互参照してもええということか、、、
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG意図としては、コールバックを提供する側でstructやextern宣言を
提供される側に見せると、ライブラリ間の相性問題の発生源になるので
やめようということ。インターフェースだけ見せるか、一つのモジュール
として全部隠してしまえば(つまり分割しないということ)、
相性の問題はない。
0108デフォルトの名無しさん
NGNGどういうちょっかいを出したつもりだったのか聞かせてくれ。
0109IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0110デフォルトの名無しさん
NGNGワラタ
0111デフォルトの名無しさん
NGNGだれか弁の立つやつを2chに潜り込ませて集団洗脳したほうがいいのにな。
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG確かに串使う意味がなさそうだな。
0114デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0115デフォルトの名無しさん
NGNGごっちゃにして騒ぎ立ててる奴も結構多いと思うんだが。
0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG感動した!!!
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG「おはよう一直線」という番組で、生島ヒロシのでるやつ。
http://www.tbs.co.jp/radio/format/ikushima.html
宮崎哲「2chでは嘘のことをネタというんですけどね、これはネタですね」
「あまり真に受けて騒ぐのもどうか」とも、
おまえらのスポンサーは真に受けてひろゆきに6億円も損害賠償請求して
るじゃん。とか思ったわけだけど
0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGで、スポンサーがDHCなのは笑った。
0127デフォルトの名無しさん
NGNGワインに毒性の高い物質を入れている。」
と書き込みがある。
嘘だと皆から突っ込みが入り、書き込む人は小出しに情報を出してくる。
・味を良くするために不凍液を入れている。
・工場のある土地を特定して書き込む。
・醸造責任者の容姿や個性を挙げる。
・ワイン醸造のバッチ工程を書き込む。
・不凍液を入れるタイミングを書き込む
・私は仕事のない東北から来る日本酒配属の冬季の季節労働者だ。
・
・
・
悪徳企業が書き込まれるおぼろげな情報から
自分の悪事が書かれていると悟り
裁判を起こすと負けるので慌ててその企業が暴力団に金を渡して
正規の手続きをせず、ひろゆこ氏へIPとリモホを出せと脅す。。。。。
山奥にひろゆこ氏が連れ出され遺体を埋める穴の横で
暴力団に尋問された場合、ひろゆこ氏は出すのかな?
出すだろうな。
173 :名無しさん@3周年 :03/01/09 22:20 ID:FDWl1Tso
ひろゆきは自宅に押しかけた暴走族に土下座した人だよ。
暴力団に脅されたら山奥に連れ出されるまでもなく玄関先で二つ返事で請け負うんじゃない?
権力には抵抗するけど、暴力には滅法弱い、それがわれらのひろゆき
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNG全部にいれてみた。
http://qb.2ch.net/test/read.cgi/accuse/1042131034/312
0130デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0131デフォルトの名無しさん
NGNG2chやりすぎで色盲になるのかも
色盲テスト;
http://www.liquidgeneration.com/sabotage/vision_sabotage.asp
0132デフォルトの名無しさん
NGNG訴えられそうな書き込みモナー
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG2ちゃんでは凄いバカにされてるからどんなに田舎かなと思って
私は新宿から埼京線で行ったんですがさいたま市に入って最初の駅武蔵浦和に
近付くと超高層マンションのが2つあり綺麗な街並みに人が沢山いました
この電車は高架を走っているので外の景色が良く見えます。住宅や色んな所に高い建物があって都会的な風景でした
北与野を過ぎると未来的な空間があり(さいたま新都心かな?)その向こうには自然界が広がっていて(見沼)綺麗でした
大宮に着きまず最初に駅の大きさにビックリ。24番線位まであるそうです。駅の中にコンビニがやたらとあった
西口にでると都会的で若者が沢山いてビックリしました。東口には昔の下町のようかカオスティックな街が広がりキャバクラが沢山あり繁華街の人通りが激しかったです
北浦和に移動すると若者が沢山いました。大学とか専門とかライブハウス、があるみたいですね。以外と賑わってる繁華街でした
浦和駅に着くと東口は開発予定で更地。西口は繁華街が広がって隠れた名店が沢山ありました。
今までのさいたまのイメージとは違いました。私の住んでる横浜より全然都会でした。
0135デフォルトの名無しさん
NGNG連続したためでは。
0136デフォルトの名無しさん
NGNGhttp://shopping.yahoo.co.jp/shop?d=jb&id=07107411
-----------------------------
「2ちゃんねるのウラオモテ超入門」
マイウェイムック、143ページ
監修・2ちゃんねる
発行・マイウェイ出版株式会社
発行日・2003年2月20日
値段・1429円
0137デフォルトの名無しさん
NGNGhttp://newspolls.yahoo.co.jp/public/archives/2076384460/p-ne6-7?m=r
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNG久しぶりに笑ったよ!
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG自分で書き込んで1人で笑ってるんだろうな
0145デフォルトの名無しさん
NGNG(^_^;)人はこれをデムパと言う・・・・
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG>いまどきのコンパイラは最適化する
ここまではいい
>だろ
これは禿糞
自己虫な思い込みを裏切られたことのないヒヨッ子
若しくは裏切るようなコンパイラを棄てる自由が保証されているアマ
0148山崎渉
NGNG0149デフォルトの名無しさん
NGNGワラタ
0150デフォルトの名無しさん
NGNG0151山崎渉
NGNG0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNGメッサびびったぞ!!
0154デフォルトの名無しさん
NGNG0155山崎渉
NGNG0156世直し一揆(コピペ推奨)
NGNGるな!!)
●とにかく気が小さい(神経質、臆病、二言目には「世間」、了見が狭い)
●他人に異常に干渉し、しかも好戦的でファイト満々(キモイ、自己中心、硬直的でデリカシーがない)
●妙にプライドが高く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようと
する(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際に
はたいてい、内面的・実質的に負けている)
●本音は、ものすごく幼稚で倫理意識が異常に低い(人にばれさえしなければOK!)
●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本
の常識は世界の非常識)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者にはへつらい、弱い者に対してはいじめる)
●あら探しだけは名人級でウザイ(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため性格がうっとうしい(根暗)
●単独では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者、狭量)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、人の目を異常に気にする(「〜みたい」とよく言う、
世間体命)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度
も言ってキモイ)
●表面上協調・意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をしストレスを溜めておきながら、他人に猛烈に嫉妬
する(不合理な馬鹿)
●執念深く、粘着でしつこい(「一生恨みます」タイプ)
●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。しかも冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男
前やのに、なんでや!(あの野郎の足を引っ張ってやる!!)」)
0157デフォルトの名無しさん
NGNGこの部分は何度読んでも笑える。A型だけど。
0158山崎渉
NGNG0159山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0160山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0161デフォルトの名無しさん
NGNGそして席につくなり、お茶とお絞りが2人に出された。まあ、別に普通の光景だ。
が。
分からん。このお絞りというヤツは、一体何なんだ。
いや、別にこれで手を拭くことぐらいは理解できるのだが、何で拭かなければならないのか、さっぱり分からん。
だって箸があるじゃないか。
手掴みで食すならともかく、箸やスプーン、フォークなどを使う場合であれば、手を拭く必要なんぞあるまい。
もちろん、俺は食事の前に手を洗うという習慣も理解できない。
俺は阿呆なのだろうか。
お絞りで顔や首を拭く輩もいる。って、それは俺なのだが(ただし居酒屋限定)。
これは一般的には、あまり品のよろしくないこととされている。
しかし、俺はこっちの方が理に適っていると思っている。
だって、顔の油は手の汚れの比ではないぞ。
飲食を娯楽と捉えるならば、まずは気になる汚れを落としてリラックスするというのは大変理解できる。
とは言え、外で食事をする際は一応俺も手を拭く。
一体俺は何を気にして入るのか。人目か。おのれ。敗北者か俺は。
まあ、まったく気にしないよりはマシだ。多分。
しかし、完全に納得しての行動ではないことは言っておく。
体は許しても心は許してはいないという事か。良く分からんが。
ついでに言えば、お茶で口をゆすぐのを良しとしないのも理解できない。
カテキンの殺菌能力を、みすみす逃す理由が分からない。もったいない。
歯を磨く時間がない時など、非常に合理的な判断だと思うのだが。
日本の食事のマナーは、俺には理解不能なことだらけである。
0162100人に1人の脳障害
NGNG<アスペルガー症候群(自閉症スペクトラム)←脳の機能的疾患(遺伝が要因)>
●変化を嫌う
http://web.kyoto-inet.or.jp/org/atoz3/kado/book1/Williams-Asp.htm
●接し方のルールがわからず無邪気に周囲の人に対して迷惑なことをしてしまうことがある。人を傷つけるということには鈍感(相手の立場に立って考えられない)。
●パターン的行動、生真面目すぎて融通が利かない
毎朝の通学電車では同じホームの同じ場所から、同じ時間の同じ号車に乗ることに決めていたりする。パターンを好むということは反復を厭わないことでもある。
●アスペルガー症候群の子どもは(大人も)感覚刺激に対して敏感。敏感さは聴覚、視覚、味覚、嗅覚、温痛覚などのいずれの感覚の敏感さもありえる(特に視覚が敏感)。
●アスペルガー症候群の子ども(大人も)は予測できないことや変化に対して苦痛を感じることが多い。
http://www.autism.jp/l-02-03-aspe3.htm
●独り言を言うことが多い(考えていることを口に出す)
●物事をいつまでも同じにしておこうとする欲求が強く、そうでないと非常に不安。いわゆる「こだわり」。
●自発的に行動することが少なく、興味の幅が狭い
●物まねをしているような不自然な言語表現
●自閉症スペクトラム全体としては一万人に91人(およそ100人に1人)。
http://www.ypdc.net/asuperugar.htm
★自閉症スペクトラムの考え方(アスペルガーに至らない気質の偏りもある(遺伝性))
http://www.imaizumi-web.com/030413.html
★アスペルガー症候群(自閉症スペクトラム)かどうかのテスト
http://twitwi.s10.xrea.com/psy/add.htm
http://www.geocities.co.jp/Beautycare/5917/as/marksheetmake.html
0163デフォルトの名無しさん
NGNGif( )
{
if( )
{
if( )
{
}
}
}
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGキーワードを太字表示するエディタ使ってるけどね
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG「このバグ今日中に直しておいてね(はぁと)」
0168こっちが本家の作法
NGNGif( ){
if( ){
if( ){
}
}
}
一画面に表示できる情報を増やすために、無用に縦に伸ばしたくありません
0169_
NGNG0170デフォルトの名無しさん
NGNGこれ最強
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGgotoは暗黒面に通じておる。
0173デフォルトの名無しさん
NGNG「最初からやり直してっ」って嫌われるぜ。w
0175デフォルトの名無しさん
NGNG痛がったら、他の部分を愛撫するなどして気をそらしましょう。
それでも痛がるようならやめる。
もちろん愛情があってこその行為です。
0176デフォルトの名無しさん
NGNG俺はいつだっていきなりハードコード
0177デフォルトの名無しさん
NGNG関数名の後ろにはカッコを接近させる
returnの一番外側のカッコは付けない。
スクロールしながらザーっと目で検索するときに、
文の特徴を一瞬でも早く捉えたいから。
if (b) f(a, b, c);
return (c) + x;
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGあと、なかなかできない時は、一人で悩んだり怪しい薬に頼ったりせず専門家に相談すること。あせってがんばりすぎても、精力を消耗するだけだよ。
0180デフォルトの名無しさん
NGNG0181山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0182山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0183山崎 渉
NGNG0184山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG開発チームの誰が見ても一目瞭然なデータ構造。
新人でも国語の本を読める位には分かりやすいソースコード。
一人で泊まったときにオナニーしたら自前の消臭剤を使う。
0188デフォルトの名無しさん
NGNG競争原理のない場所に特有の狂った「マナー」だな
一番アフォを1人外すだけで飛躍的な改善ができたり
新人にもすぐできる程度のコードしか作ってない無能集団だったり
おえー想像しただけでめまいがしてきた
0189デフォルトの名無しさん
NGNG外したい一番アフォなのが権限を持ってたりする。
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG通常マナーと呼ばれるものの多くは、この意味では技術の範疇に入る。
0193デフォルトの名無しさん
NGNG}
0194デフォルトの名無しさん
NGNG>関数と予約語の差を強調ためにifの後ろには空白、
>関数名の後ろにはカッコを接近させる
>returnの一番外側のカッコは付けない。
そうなってないコードの方が間抜けなわけで。
0195デフォルトの名無しさん
NGNGそのパッケージの情報も渡す。
名前しかわからないようなパッケージを渡すな。頼むから。
0196衛生担当
NGNG古い話にレスつけるのは気が引けるが、お食事処でおしぼりが出るのは、客に気持ち
よくなってもらいたいこともあるが、汚い手で食事され、それが原因で食中毒とかに
なると、面倒なので、出しているの。
スシやの、お茶、わさび、ガリなども、古くからの食中毒防止策。
昨今、衛生状態がよいからと、気を抜くとこれからの時期、やられることもある。
スレ違い、ご容赦を。
バグといえば、ムシだが、この虫も目に見えない。用心用心。
0197名無し@沢村
NGNG幼稚園児みたいなアルゴリズムを使わないこともマナーのひとつだ。
せめて高校数学レベルのロジックで書け。
0198名無し@沢村
NGNGif(a==0)b=0;
else if(a==1)b=1;
else if(a==2)b=2;
else if(a==3)b=3;
こんな感じでプログラミングしてるやついないか?
わかりやすいのと幼稚園とは違うぞ!
0199デフォルトの名無しさん
NGNGif( ) {
if( ) {
if( ) {
・・・}}}
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGLisp 良く知らないけど、条件文のネストには cond があるから無問題では?
0203デフォルトの名無しさん
NGNGgcc で -O2 とか-O3 したら、 b=a みたいに
最適化されないかと思ってやってみたが、
さすがにならんな・・・
0204デフォルトの名無しさん
NGNG・・・ならんだろうねぇ。
なったら怖いような
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGとなったわけか…
0207デフォルトの名無しさん
NGNG・・・ならんと思うぞ
0209デフォルトの名無しさん
NGNGソフトウェアがほぼ完成するような状況になったらいいな。
俺なんて真っ先に首だろうけど、そしたら遊園地で働こッと。
0210デフォルトの名無しさん
NGNGソフトウェアがほぼ完成するようなソフトウェアは
『オイ!』じゃ作れないんだろうなぁ。
0211名無し@沢村
NGNGオープンソースにしても恥ずかしくないコードを書くこと。
別にオープンソースにする必要はないが、いつコードを晒す事態になっても、社会的鑑賞に堪えるものを書けということだ。
0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNG見た目的に美しくないけど改行するぽ
0214デフォルトの名無しさん
NGNGバイナリにしてもアイコンも恥ずかしいお前のプログラムはry
0216デフォルトの名無しさん
NGNG0217213
NGNG0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG__stdcall WinMain(i,p,c,s)
でOK。
キャスト万歳!
0220デフォルトの名無しさん
NGNGそこ、うにモードでもうにじゃない文字列が来るからただのLPCSTRかLPSTRじゃないとだめだろ
0221デフォルトの名無しさん
NGNG>> if(a==0)b=0;
>> else if(a==1)b=1;
>> else if(a==2)b=2;
>> else if(a==3)b=3
混ぜ反すようで悪いが、こういう方が出来てくるコードが短いときがある。
大方は、switch() 文? これは生成コードが長い。
それとも、
int b_array[]={0,1,2,3};
として、
b = b_array[a];
しかしこの場合、ものによっては、範囲チェックが必要。
まさか、
if (a >= 0 && a <= 3) b = a;
が、正解といいたい?
それとも関数とか数列の知識を使えって単に言っているだけ?
else if は何個まで許すとかありそうな気もする。
0222デフォルトの名無しさん
NGNG俺はこうする。
if (a == 0) b = 0;
if (a == 1) b = 1;
if (a == 2) b = 2;
if (a == 3) b = 3;
>大方は、switch() 文? これは生成コードが長い。
コードの長さがどうなるかは分からないけど
分岐予測しなくなって速度が遅くなることはありそう。
0223デフォルトの名無しさん
NGNG>俺はこうする。
そうかい・・・
一度、-S つけてアセンブラソース吐き出して比較して見れば?
else if にしたほうが、最適化もよく効いて良いことがよくわかるよ。
0224デフォルトの名無しさん
NGNGchar *p = (char *)malloc(aru_saizu);
if (!p){
/* err proc */
}
ってのより、
char *p = NULL;
if (!(p = (char *)malloc(aru_saizu))){
/* err proc */
}
の方が、コストも速度も良いと思われるけど、あまり見かけない。
どうしています? 今や、最適化で差異はなくなっているのでしょうか。
0225デフォルトの名無しさん
NGNG私はこうしています。
char *p = malloc(aru_saizu); /* いちいちキャストしない */
if (p == NULL) { /* NULL = ゼロとはかぎらないので */
/* era- no tame no purosi-ja- */
}
ところでどうして>>224の後者の方がコストも速度も良いんですか?
0226デフォルトの名無しさん
NGNG残念ながらNULLはゼロなんだよ。
未だにこういう勘違いをしている奴は多い。
そのコメントさえなければ、きれいでいいよね。
244のコスト云々は単なる思い込みだね。昔はこうで、今はこうという問題でもない。
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGそりゃ、誰かが
#define NULL 1
と書いちゃえば変わってしまうが、そんなことをしない限り、ゼロ。
ましてや>>225はヌルポインターの話なので、これはもう間違いなくゼロ。
しかしながら、内部表現の話を、ヌルポがゼロ以外の場合があると勘違いする奴がいる。
0230デフォルトの名無しさん
NGNGコンピュータのアーキテクチャにヌルポインターという概念はない。
ヌルポインターはCの概念。
そしてCの概念では必ず0。
惑わす発言はヤメレ。
0231デフォルトの名無しさん
NGNGそんなことしたら、どのくらいのプログラムが動かなくなるかが想像出来ないほどだからな
ここでの問題は
if (!p){
と
if (p == NULL) {
のどちらの方が「マナーとして良いか」という話では?
俺は、昔は後者が判りやすいと思っていたが、今は前者が判りやすい
0232デフォルトの名無しさん
NGNGつまらん釣りだなおい。
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGconst付けたいんで
const *p = malloc(aru_size)
if(!p)
{
/* err proc */
}
0235デフォルトの名無しさん
NGNGぬるぽは0でなくてもいい
if(ぬるぽ)がelseへ行けば実装はどうでもいい
calloc使いたがるアフォが恥をかくだけ
0236デフォルトの名無しさん
NGNGconst付けたいんで
const *p = malloc(aru_size)
if(!p)
{
/* err proc */
}
0237デフォルトの名無しさん
NGNGまたおかしい奴が現れたよ(w
0238デフォルトの名無しさん
NGNG( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>235
(_フ彡 /
0239224
NGNG関数の返り血がレジスタに返って来ると、変数に格納し、次の if で
またそれを load するけど、続けて書くと load が省略されるってのが、
以前はあったように思う。(なんせ cp/m 上がりなもんで)
しかし、このスレ、みんな見ているんだ。オカシイ。
0240デフォルトの名無しさん
NGNGてゆか、最適化されるだろ。
0241デフォルトの名無しさん
NGNGもし a=0 の時、1行目で bの値が確定しているにも
かかわらず、無駄な処理が3行も続いてるが?
0242デフォルトの名無しさん
NGNGスマン。
まあ、オレのC言語におけるマナーは「明示的に書け」
たとえば、こういうifの記述はやめて欲しいなあ。
#include <stdio.h>
#define TRUE 0
unsigned int var;
var = 1; /* zero or one */
if (var) /* (var == TRUE)とかしろよ */
{
printf("ex");
} else {
printf("ex2");
}
書いといてなんだが、あまり入門書に取り上げらていなかったりする。
おもにひとつの関数の機能切り替えに使われるもので
古いソースによく出てくきたりする。答えは実行してみればわかるけど
booleanだな。
0243デフォルトの名無しさん
NGNGhttp://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/c/C-faq/C-faq-05.html
0244デフォルトの名無しさん
NGNGTRUE = 0はヤメロ、数値ならenum使えってカニさんが言ってた気がする。
if(var)なら同意するけど、if(isdotdot)ならオイラは書かないほうが読みやすい。
0245デフォルトの名無しさん
NGNGNULLは空ポインタ。
\0をnullと呼ぶこともあるが、別物。
> if (var) /* (var == TRUE)とかしろよ */
俺だったらフラグとして使うから
#define VAR_TRUE (1<<0)
if(var&VAR_TRUE)
のような感じになるかな。
こうしとけば将来 var が拡張されるとしてもバグが出にくくなる。
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGga
0249デフォルトの名無しさん
NGNGこんなのだったらどうする?
#ifndef __stdbool_h
#define __stdbool_h
#include<windows.h>
#define true TRUE
#define false FALSE
#define bool BOOL
#endif
0250デフォルトの名無しさん
NGNGhttp://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/c/C-faq/C-faq-09.html
>>246
C89準拠なソースを保守とか、混ぜて使うときってどうしてる?
新たに書いた部分だけでもstdbool.h使う?
0251224
NGNG記述があり、なかなかのことが書いてあり、感心した。
思いつきだが、Cのソースを食わせると、はい何点なんてレポートを出す、ア
プリケーションなんて、ありそうに思えたけど、ないでしょうね。
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNGTRUE, FALSE
};
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNGまじめに考えたあげくに作られるものなのだなと、このスレを見て思った。
0257デフォルトの名無しさん
NGNGまずは可読性が第一。elseが無い方がすっきりしていて見やすいコード。
最適化はコンパイラに任せておけば良いし、最適化されなくてもそんなに遅くなる
わけじゃない。
0258デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNGワラタ
今年度最高の基地外だな
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGif ((unsigned)a <= 3)
b = a;
高速化を狙うならこっちが良いかもしれない。
b = a | 3; /* 2進数での11*/
0265デフォルトの名無しさん
NGNGあんた、問題の本質どころか何が問題なのかすらわかってないね。
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNGelseがない方が意味が不明瞭になって可読性は下がるとおもうがな
プログラムの可読性ってのは
ただ単に「読みやすい」ではなく「分かりやすい」だろ?
メンテナンサビリティが第一だな、開発時効率ともいう
(要求を――性能要求も含めて――満たしているのは大前提としてな)
0268222 != 257
NGNG趣味グラマのオレは「ぱっと見きれいでいいじゃん」ってことで>>222にしてるわけだが。
elseつけないからって演算結果が変わるわけじゃないし。
分岐予測ががんばってくれるかもしれないし。
キャッシュの振る舞いがゴニョゴニョなって逆に速くなるかもしれないし。
速度なんて気にしてないし。
いいじゃん。
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG書き込まないでよあんなコード。
参考にならないどころか害にしかならないから。
0271デフォルトの名無しさん
NGNGelse使うところはelseを使って、switch使うところはswitch使えばいいじゃん。
「結果は同じだからelse消しました。きれいなコードになりました」
↑気のせいです。
0272デフォルトの名無しさん
NGNGif ( x > 0 ) a = 1 ;
else if ( x == 0 ) a = 0 ;
else a = -1 ;
さて,コーディングレベルが上がってくると
a = ( x >0 ) ? 1 : ( ( x==0 ) ? 0 : -1 ) ;
(中略)
さらにレベルが上がってくると
if ( x > 0 ) a = 1 ;
if ( x ==0 ) a = 0 ;
if ( x < 0 ) a = -1 ;
こう書いたりするのです.
ttp://member.nifty.ne.jp/yamazaki/doc/code_design/vol03.html
0273デフォルトの名無しさん
NGNGこの人はデータ指向プログラミングという独自スタイルを貫いてるからいいのでは?
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGふつうはこうだろ?
a = (x <0) ? -1 : !!x;
0276デフォルトの名無しさん
NGNGえ?
0277デフォルトの名無しさん
NGNGワラタ
とんだ権威主義者だな。
見易さだけなら桁そろえればいいだけ。
if ( x > 0 ) a = 1 ;
else if ( x == 0 ) a = 0 ;
else a = -1 ;
コメントなしにいきなり>>272みたいなコード書かれたら
バカなのか基地外なのか判断に困って迷惑なだけ。
確実に視点がそこで停滞する。
0278デフォルトの名無しさん
NGNGふつうはこうです。
a = x < 0? -1: x > 0;
0279デフォルトの名無しさん
NGNGそしてさらにレベルが上がると、一周して
if ( x > 0 ) a = 1 ;
else if ( x == 0 ) a = 0 ;
else a = -1 ;
こう書くようになります。
0280デフォルトの名無しさん
NGNGcout << "Hello\n" ;
のようなコードではないでしょうか.
0281デフォルトの名無しさん
NGNG1 名前: デフォルトの名無しさん 投稿日: 02/08/17 20:35
皆さんがCのコードを書かれる上で決めているマナーを教えてください.
例えば,コメントの書き方,関数の説明など.
0282デフォルトの名無しさん
NGNG何をどう突っ込んでほしいんだ?
0283282
NGNG0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNGyz1作ったから
0286デフォルトの名無しさん
NGNG名前の上を見ると……
豪快な釣りでつか(´・ω・`)
0287デフォルトの名無しさん
NGNGちょっとうまい。
でもこの人「漁師プログラマ」改め「武蔵流プログラマ」って名乗るけど。
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNGこの人で印象的だったのは
「Javaには(C++のような)デストラクタがありません」
とサイトに書いていて、掲示板で
「それは間違いです、Javaにもfinalize()があります」
みたいなツッコミされて
「ごめんなさい、まちがえてました」
と謝ってたことだな。
Javaのfinalize()はC++のデストラクタの代わりには
ならないってことは、入門書でも読んでればわかる
ことだから、Javaがよくわかってないであんな文章
書いてたんだなとオモタよ。
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNGif(){
}
と
if()
{
}
どっち?漏れは下、会社の都合なんだけどな
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNG関数は
type function()
{
...
}
その他は
condition () {
...
}
0295デフォルトの名無しさん
NGNG{
...
}
else
{
...
}
if (...)
{
...
} else
{
...
}
この2つだったらどっち?漏れは上だけど。
0296デフォルトの名無しさん
NGNG前者だな
キーワードと}を揃えるなんて汎用性がなくダサイ
0297デフォルトの名無しさん
NGNG...
} else {
...
}
こうですが!
0298デフォルトの名無しさん
NGNGスクラッチで書く場合は
Cなら
if ()
{
}
else
{
}
Java or C++なら
if () {
}
else {
}
でも Cの場合の↓はなんとかならないかといつも思ってる。幅取りすぎる・・・。
}
else
{
あと、switch内のcaseのインデントはいつも悩ましい。。。
0299デフォルトの名無しさん
NGNG} else {
}
でしょスタンダードは。
0300デフォルトの名無しさん
NGNGふつうはこうです。
a=(x>0)-(x<0);
0301デフォルトの名無しさん
NGNGに決まってるじゃん。
じゃないと、七行に収まらないって
0302デフォルトの名無しさん
NGNG;までを一行とするならif-elseは2行絶対消費する
0303デフォルトの名無しさん
NGNGきっと半角80文字(改行文字含む)が1行でしょう。
0304デフォルトの名無しさん
NGNG自分は逆派だから、なぜわざわざ括弧の高さをずらして書くのか分からない。
昔は表示領域が小さかったから、小さく書くためにそういう書き方をしていて、
表示領域が広くなった今でもそのままその方式を使っていると聞いた事はあるが。
これなら分かるんだけど。
if () {
hoge();
foo(); }
else {
test(); }
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNG制御構文と他の文がごっちゃになってるからヤ。
0307デフォルトの名無しさん
NGNG一番左だろ?*/
int main(int c, char ** v)
{
switch( c ){
case 0:
break;
case 1:
break;
default:
break;
}
return 0;
}
0308デフォルトの名無しさん
NGNG俺はswitchと合わせたいんだけど、
switch( c ){
case 0:
break;
case 1:
break;
}
VCのIDEがやたら下げたがる・・・
switch( c ){
case 0:
break;
case 1:
break;
}
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG{
case 0:
break;
case 1:
{
int a;
break;
}
default;
break;
}
これ以外のインデントは一貫性に欠け、
非論理的であると思われます。
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG現実的に無理。条件分岐ができない。
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG{
case 0:
{
hoge(0);
}
break;
case 1:
{
hoge(1);
}
break;
default:
{
hoge(0);
}
break;
}
0315デフォルトの名無しさん
NGNG関数ポインタ
0316デフォルトの名無しさん
NGNGcase 0:
hoge(0);
break;
case 1:
hoge(1);
break;
default:
hoge(0);
}
こうですが!
0317デフォルトの名無しさん
NGNGswitch (a)
case 1:
x = a;
hoge(x);
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGこうだる。
値の変換するなら関数にしてほすぃ。
a = sgn(x);
int sgn(int x) {
if (a > 0) return 1;
if (a == 0) return 0;
return -1;
}
0321デフォルトの名無しさん
NGNGこのふたつはやめてほすぃ。
if (a == 10) {
/* 何もしない */
}
else {
/* 処理 */
}
if (a == 10) {
/* 処理 */
}
else;
0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGデ・モルガンまんせー
0327デフォルトの名無しさん
NGNG修正した結果として /* 何もしない */ ことになった場合、
前者のように残しておくことが多かったりする。
0328デフォルトの名無しさん
NGNGド・モルガンだろ。
0329デフォルトの名無しさん
NGNG残しておこうが、消そうが、コンパイルされると、jump が入ると思ったが。
0330デフォルトの名無しさん
NGNGあは。俺やっちゃったw
0331デフォルトの名無しさん
NGNGソースファイルを編集したあとに、古いコードを #if 0 〜 #endi やら /* */ で
括って残しておくこと。
cvs diff しても #if 0 と #endif の行しかひっかからない。
0332デフォルトの名無しさん
NGNGソースは書く時間より読む時間の方が圧倒的に長いですから
なるべく読みやすくして欲しいですよね。
このコードなんやねんってサーチしたら、結局どこからも呼ばれてなかったってのは
勘弁して欲しいっす。
まあコーディング規約とかが別会社で決まっててどうしようもないこともありますが。
0333デフォルトの名無しさん
NGNGおめえら演算子の優先順位と結合規則くらい覚えろや。
0334デフォルトの名無しさん
NGNGそこで問題です。「読みやすさ」って何?
0335デフォルトの名無しさん
NGNGz = (c * x) + y; /* 勘弁して */
}
0336デフォルトの名無しさん
NGNGその答えは十人十色
0337デフォルトの名無しさん
NGNGそれは過剰ですか?
0338デフォルトの名無しさん
NGNG問題も何もコメントアウトしたコードが大量にあると読みにくいって話でしょ。
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG(*printf)(("%d\n"), (("\n"),((x)*(y))+(a)));
0341デフォルトの名無しさん
NGNGz = (c * x) + y; /* 小学校からやりなおせ */
}
0342デフォルトの名無しさん
NGNGz = (c * x) + y; /* まあいーんじゃない? */
return(0); /* 帰れ */
}
switch(hoge) { /* 空白あけろぼけ */
case(1): /* 殺す */
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNGつまりあんたのことだね
0345デフォルトの名無しさん
NGNGわらた
0346デフォルトの名無しさん
NGNGみたいに制御文のあとにスペースを入れるのってなんで?
関数と見分けがつきやすいからって理由なら、どうでもいいやって感じだけど。
0347デフォルトの名無しさん
NGNGC言語なら俺に聞け! Part 85
http://pc5.2ch.net/test/read.cgi/tech/1089136366/
0348デフォルトの名無しさん
NGNGマヂレスしちゃうけど最近の子供って、
加減乗除で何が優先されるのか知らないのが結構いるよ。
0349デフォルトの名無しさん
NGNGそれによって何か論理的に有利なことがある?
0350デフォルトの名無しさん
NGNG今、D言語スレでcaseラベル問題が議論される。
case(1)
とかいう書き方だとミスを減らせるので、
むしろ推奨すべきじゃないか?
俺としてはアリだと思う。
0351デフォルトの名無しさん
NGNG350はif(0==a)とか書いてそうだな
0352350
NGNG割とかくよ。そういう書き方。
少なくともaがポインタなら絶対に
if(a)とかとは書かないな。
趣味プログラマだから世間のルールはしらない。
おかしいかな。
ソース公開してるけど、指摘を受けたことはないなぁ。
(誰も見てないんだろって言われるんだろうな…
多いときには1日に数千件のアクセスはあるんだけど。)
0353デフォルトの名無しさん
NGNGそういう意味じゃないだろ?
if(a==0)じゃなくて
if(0==a)って書くだろって意味。
0354デフォルトの名無しさん
NGNG一人でコード書いてるなら何でもいいよ。
0355デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGだって変数同士の比較だとその手段は使えないから。
それに最近は制御式の中で代入しようとするとウォーニングを出してくれるコンパイラも多いし。
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNG0362350
NGNGやってたわけじゃないよ。
実際、あんまり見たこと無いからそれほどいいもんじゃないのかな。
定数を左に書くのは好みとか規約の問題であって、
一概に否定できるものじゃないと思う。
実際至るところで論争になってるから、
必ずしも少数派ではないだろう… と思うんだけど。
http://www.google.com/search?q=%E5%AE%9A%E6%95%B0%E3%82%92%E5%B7%A6&ie=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0363デフォルトの名無しさん
NGNG定数を左に置くことで防げるバグなんて実質存在しないんだけど。
(警告が多すぎて見逃す危険性があるなら別だけどそれなのは論外)
害はないけど意味もない。
0364デフォルトの名無しさん
NGNG>必ずしも少数派ではないだろう… と思うんだけど。
引っかかってる19件を見たけど、左に置くのがよいって無条件に薦めてるのは
やっぱ少数派じゃん。
0365デフォルトの名無しさん
NGNGhttp://www.alles.or.jp/~torutk/oojava/codingStandard/writingrobustjavacode_p2_c2.html#id_590_
>以下のコードを考えてみる。パッと見は両者はどちらも等価だが、
>左側のコードはコンパイルできるが右側はコンパイルできない。
コンパイルできないなら、なんで定数を左側におく必要があるんだろ。
コンパイル段階でバグが発覚するなら問題ないはずだけど。
0366デフォルトの名無しさん
NGNG代入を = じゃなくて := にすればいいんだよ。
a := x + y;
ばっちりだね。
0368350
NGNG0369デフォルトの名無しさん
NGNGvoid A(){
}
より
void A()
{
}
の方が好きなんだがどう?
またスペースだが
void B( int i );
より
void B( int i);
の方が好きなんだがどう?
0370デフォルトの名無しさん
NGNG上は普通。関数の { は改行するのがマナー。
引数内は空白入れるなら両方空けるのが俺は好き(マナーかどうかは知らん)
0371デフォルトの名無しさん
NGNG>上は普通。関数の { は改行するのがマナー。
そうなの?
殆どのサンプルコードは前者だったりするから
それが主流だと思っていたが。
0372371
NGNGすまそ
0373デフォルトの名無しさん
NGNGなんでだよ。
0374デフォルトの名無しさん
NGNGメンバ関数なら分からんが
0375デフォルトの名無しさん
NGNGあるていど詰まってた方が自分的には見やすい。
だがそれを他人に押し付けたりしない。
自分のスタイル、つまりは価値観を他人に押し付けない、これこそ真のマナーじゃない?
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGn++;
foo(); } //こういうのだけは勘弁して欲しい
else
bar();
0378デフォルトの名無しさん
NGNGここで大騒ぎするほどスタイルが生産性に与える影響はない。
というかほとんどまったくない。
0379350
NGNG左を定数にする理由を理解してないから。
結果的にどっちがいいかを押し付けるつもりはないけど、
いまさら「なんで」とか言ってるのはスレを読めてない。
とか書くと「お前が読めてない」とかレスがつくんだろうな…
0380デフォルトの名無しさん
NGNG>左側のコードはコンパイルできるが右側はコンパイルできない。
俺も一時期このスタイルをとっていた。同じように
コンパイルエラーによって実行時のバグをつぶせるという理由で。
でもやめた。
理由1
たいていの場合、知りたいのは「aは1か?」であって「1はaか?」ではない。
だからif (1 == a) よりは if (a == 1)のほうが自然である。
理由2
最近のコンパイラはif (a = 1) のようなコードにwarningしてくれる。
もし、意図的にそのようにしているなら、if ((a = 1) != 0) とすればよい。
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNGそこまで言うなら説明してみろよ。
わかってるふりするだけなら、誰でもできるだろ。
0383デフォルトの名無しさん
NGNG昔は、スペースの入れ方が少なく、1行に複数の命令を書いていたように
思う。640 x 400 の画面とかの影響が大きいのではないか。
タブも2バイトというのがある。
0384デフォルトの名無しさん
NGNG>タブも2バイト
>タブも2バイト
>タブも2バイト
>タブも2バイト
>タブも2バイト
0385デフォルトの名無しさん
NGNGその画面だと50行にできるんだけどな。
43行にも。
0386デフォルトの名無しさん
NGNGif (x = 0) { ... }
は、もともとコンパイルできない。
= と == を間違えれば、即エラー。
0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGで、何が言いたいのだろう?
0389デフォルトの名無しさん
NGNGだからJava廚は嫌われるのさ
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNGそうかもしれない。
しかし、まあ、矢印キーやJKLだかでカーソルを移動するのは、今思えば、
ご苦労なことだった。
0392デフォルトの名無しさん
NGNG>>365 のリンク先書いた奴はアホ、と言いたいんでは?
(確かにアホだとは思うが)
0393デフォルトの名無しさん
NGNG>定数を左に書くのは好みとか規約の問題であって
いや、指しゃぶる癖のある奴が常に指に絆創膏巻いてるようなもんだろう。
>>382
まだ解ってないのか君は…
0394デフォルトの名無しさん
NGNG変数の型名に何を使うかだ。
どれを使うのがジェントルメンなのか・・・
WORDやDWORDってどうなんだろう?最近の流れだとUSHORT・ULONGっぽいが・・
unsigned longは長すぎて使う気しないし、どうすりゃいいんだぁ〜!!
BOOLってどうなんだろう?これって4Byteも使うんだよな・・
TRUEとかFALSEも非標準って感じがするし、やっぱboolにするべきだよなぁ・・
ああ!!しかしそうすると他はFLOATとかHRESULTとか大文字ばっかなのに
boolだけ小文字だっ!どうすりゃいいんだぁ〜!!
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG> まだ解ってないのか君は…
結局わかってないって繰り返すだけか。
説明できないなら逃げとけばいいのに・・・
0397デフォルトの名無しさん
NGNGstdint.h, stdbool.h使っとけ。なけりゃどっかから拾ってきてそのコンパイラで使えるようにすればよし。
>>393
言いたいことがあるならはっきり書け。と流れを読まずにカキコ
0398馬鹿レス
NGNG> stdint.h, stdbool.h使っとけ。なけりゃどっかから拾ってきてそのコンパイラで使えるようにすればよし。
0399デフォルトの名無しさん
NGNGJava は (>>386 によると) 違うらしいが、C で条件式書くところで
関係演算子 == をうっかり代入演算子 = と間違っても
コンパイルエラーにはならず
(処理系によっては警告くらいは
出るかもしれない) しかし実行結果は思った通りにはならない。
そういう些細なミスに因るバグで時間を潰すくらいなら、せめて
定数との比較のときは定数を先に持って来るようにすれば
コンパイル時に検出出来る。
…というのが「定数を先に持ってくる」意味なんだが、そういうのが
>指しゃぶる癖のある奴が常に指に絆創膏巻いてるようなもんだろう。
または
「ひとりでトイレ出来なくてオムツをしている人」
に見えるわけさ。
といっても、別に否定してるわけじゃない。
「早くオムツが取れるといいね」 とは思うが、「オムツが俺のスタイルだ!」
とか「ウチのプロジェクトでは、全員オムツをすること」とか言われると
先ずトイレの訓練しろよ、と思ったりする次第。
0400デフォルトの名無しさん
NGNG>>394
環境にあわせるのがヂェントルメーンてモンでしょ。
Win API ブリブリ呼び出してる部分は MS の定義した型で。
環境に依存しない部分は ANSI で。
bool は、C99 なら stdbool.h 使う。そうでなければ
typedef char bool
#define true 1
#define false 0
としとけば、いずれ C99 になったときに変更が少なかろ。
0401デフォルトの名無しさん
NGNGワロタ
0402デフォルトの名無しさん
NGNG> なけりゃどっかから拾ってきて
0403デフォルトの名無しさん
NGNGキモいから列挙子つかえよ
typedef enum bool{
true,
false,
}bool;
0404デフォルトの名無しさん
NGNGこう書く奴は定数を左に置く理由を理解していないな。
0405デフォルトの名無しさん
NGNGJavaで定数を左に置くことを薦めているページがあるけど、
もともと、そんなものは無用なんじゃないか。
(Javaでは比較と代入を間違うとコンパイルエラーになるから)
↑という意図の書き込みをしたら、バカとかなんとか
レスされたので、どこが間違ってるか説明を求めたのだけど、
説明は無しで「解ってない」と繰り返すだけ。
その絆創膏とかオムツとかの説明を読むと、俺が定数を左に
おくのを肯定してると勘違いしてるようだけど、どこを読めば
そう思えるのか。
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNGtrue が0ってものキモイな。
0408デフォルトの名無しさん
NGNG== を = と書いちゃうのはおもらしというよりもタクシー車中ゲロに近いと思う。
つまり、体調によっては誰でも犯すミス。なので、防止策として定数を左におく
対策の比喩としては「オムツをする」ではなく「バケツを首にぶら下げる」が妥当かと・・・。
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNGどっちにしろみっともないので
そんな事しません。
0411デフォルトの名無しさん
NGNGいつの間にここはネタスレになったんだw
せめて「ゲロ袋を常備しておく」くらいにしておけよ。
0412デフォルトの名無しさん
NGNG最初のほうはネタスレですが。
0413デフォルトの名無しさん
NGNGうまいこと例えてるな。
0414デフォルトの名無しさん
NGNG拾うほどたいした中身でもないぜ、旦那。
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGなんかマズいの?
0417デフォルトの名無しさん
NGNGそもそも定数を左側に置く理由は比較と代入を間違えてもエラーにするため。
fp=fopen("file","r")
けどここを==にしてもコンパイラはエラーも警告も出してくれない。
っていうことだと思う。
0418デフォルトの名無しさん
NGNGこう書いても良いって意味なんじゃないの?
0419デフォルトの名無しさん
NGNGそんな順番をきちんと考えてから書くやつが=と==をtypoするなんて考え難い。
0420デフォルトの名無しさん
NGNGそんなの東京でアルカイダのテロにおびえるようなもんだ。
と混乱させてみる。
0421デフォルトの名無しさん
NGNGバカはそんなに甘くないぞ。
俺のところには!=を=!と書いたバカがいた。
if (a =! 0)
こう書いてもエラーにならないことに初めて気がつかせてもらったよ。
0422デフォルトの名無しさん
NGNG何か置き換えが出来そうな勢いだな
0423デフォルトの名無しさん
NGNG------------------------------------------------------------
おまえら、==を=と書くバカの心配をしているのか?
バカはそんなに甘くないぞ。
俺のところには○○を××と書いたバカがいた。
if (a ×× 0)
こう書いてもエラーにならないことに初めて気がつかせてもらったよ。
------------------------------------------------------------
○○と××を埋めよ。ってことか? >>422
0424デフォルトの名無しさん
NGNGバカはそんなに甘くないぞ。
俺のところには<=を->と書いたバカがいた。
if (a -> b)
こう書いてもエラーにならないことに初めて気がつかせてもらったよ。
0425404
NGNGif((fp=fopen("file","r"))==NULL)をif((fp=fopen("file","r"))=NULL)
と書き間違ってもエラーになるから。
定数を左に置く理由を理解していない証拠。
0426デフォルトの名無しさん
NGNGその前に定数を右におく理由を考えたらどうだ?
0427404
NGNGその方が自然だという理由しかないが。
それになんか勘違いしているようだが、俺は定数を左に置いたりしていないぞ。
0428デフォルトの名無しさん
NGNGで、a, b ともに変数として
aとbどちらを左に右にするんだ?
0429デフォルトの名無しさん
NGNGバッキャマラドゥ!頭使え、頭!
if(1== (a == b) )
できましたー
0430デフォルトの名無しさん
NGNG俺が目をかけてる変数が左
その秘蔵っ子と見比べるのが右
こんなの常識
0431デフォルトの名無しさん
NGNG>if((fp=fopen("file","r"))==NULL)をif((fp=fopen("file","r"))=NULL)
>と書き間違ってもエラーになるから。
だから>>404の様にしたいんでしょ?
それが理解できると、
何故、「定数を左に置く理由を理解していない証拠」
になるのでしょう??
0432デフォルトの名無しさん
NGNG>>425 じゃ無いけどお前もうちょっとよく読めって
if((fp=fopen("file","r"))=NULL)はエラーになるんだよ?
0433デフォルトの名無しさん
NGNGうっかりif(a==1)をif(a=1)と書いてもエラーにならない。
でもif(1==a)と書いていれば、もしも==を=と書いて(if(1=a))しまったときにエラーになって素早く検出できる。
これが定数を左に置く理由。
でもif((fp=fopen("file","r"))==NULL)の場合は==を=と書き間違えればエラーになる。
わざわざ定数(ここではNULL)を左に書く意味はない。不自然な形にするだけだ。
だからこう書く人は定数を左に置く理由を理解していないというわけ。
0434デフォルトの名無しさん
NGNGその場合はでしょ
でも統制をとる為に、あえて左に書いてる人も
何故、「定数を左に置く理由を理解していない証拠」
になるのかと・・・
0435デフォルトの名無しさん
NGNG「bはaと同じか?」ならb == aだ。
「aはbより小さいか?」ならa < bだし、
「bはaより大きいか?」なら b > aだ。
結果的に同じかもしれないが
結果あっての意図ではなく意図があっての結果だ。
お前の意図をそのまま表わせ!
どっちなのかわからねぇって言っているやつは
自分がコードに何をさせたいのかわかっていない証拠だ。
設計をもう一度考え直せ!
0436デフォルトの名無しさん
NGNGああ、君が言いたい事がわかったよ
右に置いてエラーがでるのが分かってれば、極力右に置け、と
0437デフォルトの名無しさん
NGNG>素早く検出できる。
警告とエラーで検出速度はまったく変わらないわけだが。
0438433
NGNG0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNGここはCのテクニックを語るスレではないんだぞ。マナーを語るスレだ。
整数でない場合は型を分かりやすくするために書くのは普通だ。
0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNGコーディングに不安な人たちが集まっているスレはここですか?
0445デフォルトの名無しさん
NGNGルールじゃない!
マナーだってのがまだわからんのか!
コノヤロウ!
0446デフォルトの名無しさん
NGNGマナーがなってない香具師ハッケソ。
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGデファクトスタンダードに合わせとけ
0450デフォルトの名無しさん
NGNGレベル4にしたら出たけど、他のも鬼のように出た。
"引数は関数の本体部で 1 度も参照されません。"ってのが大量に出るウゼー
それに"条件式が定数です。" っての、wchar.hでも出てるし。手ー出せん。
みんなどうしてるの?
0451デフォルトの名無しさん
NGNG気になるならif文中に代入文書かなきゃいいじゃん。
俺は気にしないが。
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNGレベル上げるとどうでもいいような警告が大量に出るんだけど、ソコラへんをどうしてるかを聞きたいわけなんですが
0454デフォルトの名無しさん
NGNG#define isnt !=
if (a is X)
やったら、殺す。
0455デフォルトの名無しさん
NGNGこんな低次元な議論しかできない連中に
んなもん作れるわけないだろ。
0456デフォルトの名無しさん
NGNGじゃあ氏ねよ
0457TRUE
NGNG0458デフォルトの名無しさん
NGNGバカども
0459デフォルトの名無しさん
NGNGすでにあるよ。もちろん機能はそれだけじゃないが。
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNGツールなんかに頼らなくても。
不注意なヤツはいくらツールや仕組みに頼っても
ツールや仕組みを破る方法をいくらでも編み出してくる。
だから、そんなことをしても無意味。
それよりも、注意深くコーディングするとかK&Rを読破するとか
そういうことに時間をかけたほうが有意義。
0462デフォルトの名無しさん
NGNGおまえら、てすとふぁーすと
って知ってますか?
0463デフォルトの名無しさん
NGNGlintクリーンソースはウンコソース
0464JT
NGNG0465デフォルトの名無しさん
NGNG返り値もわかるようにな!
残念!
0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNGおとなはうんこそーすのかわりにどんなひょうげんをしたらいいですか?
0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG設計意図を無視して、右辺にあるべきものを左辺に置くのは本末転倒だ。
それに、その程度の問題はちょっとした注意力で防げる問題だ。
なにがてすとふぁーすとだ。
ちょっとはやっているキーワードならべりゃいいとでも思っているのか?
設計が反映されていないコードをテストしたって意味がねぇだろ。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNGワラタ
0474在郷軍人会
NGNGなんてなったんだが、今はなんだ、合コンしようかかな。
0475デフォルトの名無しさん
NGNG低いほうのレベルに合わせて対抗するようなヤシは
このスレから出て逝け
0476デフォルトの名無しさん
NGNG早く出してくれないと、週末までのコードが間に合わないんだけど。
0477デフォルトの名無しさん
NGNG定数は右が常識。
0478デフォルトの名無しさん
NGNGコードとしてのフォーカスが当たってる方が左。
>が大なりで<が小なりって呼ぶでしょうが。
0479デフォルトの名無しさん
NGNG意味を判断できなくて、どうしても定められなくては困る人向けに言うと
「変数は定数と同じか」をテストしている場合がほとんどなので
左辺に変数、右辺に定数を置く。
なんだ結論が出たじゃないか。めでたしめでたし。
0480デフォルトの名無しさん
NGNGVB帰りだと時どきそう打っちゃうけどすぐに気づくし。
不等号は特に明示的な理由がなければ<を使う。
数直線のイメージと、
効率から(こちらはC++の話でCには関係ないけど)。
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG左辺値どうしは?右辺値どうしは?
と脊髄反射してみるテスト。
0483デフォルトの名無しさん
NGNG必要な人には必要なんだから。
0484デフォルトの名無しさん
NGNGおそらくいつまでも補助輪がとれません。
そんな情けない状態が長くつづくのは
本人にとってもチームにとってもよくありません。
レベルの低い人に合わせていると、きりがありません。
どんどんチームのレベルが下がります。
0485デフォルトの名無しさん
NGNG中には純粋な趣味で開発をやっていてなおかつコストパフォーマンス度外視して
珍妙なコーディングスタイルに凝るという楽しみ方をしている人間だっているんだ。
アメリカのように一方的に自分の正義を押し付けてはいけないな。
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNG同様にみんなが、そんな楽しみ方をしている人間とは限らんよ。
別に自分の正義を「押し付けている」わけではない。
俺が言ったことを守らないと生活や命にかかわるのか?
ぜんぜん無視する事だってできるぞ。それでも押し付けか?
人には意見がある。その意見を言うのはかまわんだろ?
あなたにも意見があるだろう。当然、言ってかまわない。
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNGif (0<a && 10>a)
if (10>a && a>0)
if (a<10 && a>0)
どれも一緒だけど、判りやすい書き方すればいいんでない?
(´-`).oO(if (!a) は if (0==a) とイメージしてしまうんだけどね)
0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNG夜中に発見したのでもの凄く怖かったです
0492デフォルトの名無しさん
NGNG/* 僕はぐっすり眠れる世界へ行っています */
とか?
労災認定できんかな。
0493デフォルトの名無しさん
NGNGワロタ
0494デフォルトの名無しさん
NGNG/* 後で削除するにょ */
とか書いてあるのも萎える
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNGってのがあった。
0497デフォルトの名無しさん
NGNGスケープゴートにされて切れたんだな
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNGgoo で4件出てくる。
0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG戻り血は献血した時
0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNGウェイターにもマナー教育が必要ってことだな。
だからといって客にマナーが必要無いってことにはならないけどね。
0505デフォルトの名無しさん
NGNGif (定数 == 変数) ... のパターンばかりだった。
このスレ見ていたお陰で、驚かずに済んだ。それと、
catch(...){...} って、一杯並べてもいいことを初めて知った。
0506デフォルトの名無しさん
NGNG実際にはあまり並べなくてすむように、
例外はひとつのクラスから派生させる。
って、今更なんだけどこのスレはC++もあり?
0507デフォルトの名無しさん
NGNGC++は最上位例外クラスが一般化して無いのが糞
糞糞糞
0508デフォルトの名無しさん
NGNGvoid *
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNGvoid main(void)
と書く
0512デフォルトの名無しさん
NGNGなんで?
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNGpりんtf(”へっぉをrld!”);
}
これで動く
0519デフォルトの名無しさん
NGNGその際にどうしようもないソースがあると「indent -kr」してとりあえずインデントをつけてから見ている。
(注1:indent -krしたソースでコケることがある、コメントのせい等)
(注2:とりあえず知らない人は使っておこう。オレはK&R派、他色々はman参照のこと)
で、思ったんだが最低限のマナーとしてコメントは分かりやすく作ってほしいんだよな。
例1:
/* ループカウンタ */
int i=0;
コメントを付ける位置が一律右上になっている、まぁそういう人も居るんだろうが、同じ列に書ける時まで右上に書くか?第一分かりきったことを書くなよ…
必要ないコメントはうんざりだ。ついでに意味の無い初期化もどうか?
例2:
/*
*
* 指定のObjectを描画処理とConnectする。
*
*/ ret = srcdspcnt() ;
突っ込みどころ満載。まず1行コメントを5行の箱型コメントにする必要はあるのか?指定とか描画とか処理とか抽象する言葉を多用するな(使うなとは言わん)。
カタカナ英語を何でも英語にするな、英語かぶれか?もちろんプログラマとして英語を多用するのは大いに結構だが一般的な日本語で書け。他色々あるけれどうんざりだ。
例3:
何が何でも必死に関数や処理の右にコメントを書きつめるヤツ。
右を見ながら左の処理を見れば分かるように書いたんだろうが、150カラム目と0カラム目を同時に見るような研ナオ子の目はしていない。研ナオ子もびっくりだろう。
ちなみにオレは大まかな数行の処理は
/*************************************/
/* (1)●×ファイルのインデックスを */
/* なんだらかんだらでんがなまんがな */
/*************************************/
と処理の上に書いておき、細部または1行コメント等を処理の右に書いている。みんなはどうしているんだろう。
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG死ね
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG君には農薬バリバリに使った形のそろった野菜が似合う。
0525デフォルトの名無しさん
NGNG>指定とか描画とか処理とか抽象する言葉を多用するな(使うなとは言わん)。
コメントで抽象語を多用しない処理ってのは、
要するにその処理の「抽象度が低い」というだけの話であって・・・
コピペのオンパレードのコードに付けるコメントならば、
確かに殆ど抽象語を必要としないんだけどな。
0526デフォルトの名無しさん
NGNG抽象度の高いコードは普通一目でわかるのでそんなにコメントつけないと思う。
0527デフォルトの名無しさん
NGNG>抽象度の高いコードは普通一目でわかるので
貴方はプログラミングの神ですか?
0528デフォルトの名無しさん
NGNG>>抽象度の高いコードは普通一目でわかるので
>貴方はプログラミングの神ですか?
たとえば「指定のObjectを描画処理とConnectする」
なんてのはresult = onConnectInputAdd( FileObj , displayLoopWord , titleTable[ i ]->display() , titleTable[ i ]->argument[ 0 ] ) ;
とか書いていればコメントなしでもいい気がする。
もっとも、この関数がトリッキーだったり変数の値や名前が一意で無い場合はコメントをつけるべきだろうが。
0529デフォルトの名無しさん
NGNGコメントってのは実装方法じゃなくて仕様を記述するのは当然。
(当然ってのは言いすぎ?少なくとも最近の一般的な流儀。)
だからその場合に関してはコメントを書かなくてもいいのは当たり前。
そうじゃなくて、そのばあいを例にとって言えば、
onConnectInputAddの仕様(引数やら返値の意味とか)を
書くか書かないかってことだ。
その場合に内部的なデータ構造などについて説明を必要とするなら、
それは抽象度が低いといえる。
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNG「大場久美子」って書けよ
0532デフォルトの名無しさん
NGNGAAにしてください
0533デフォルトの名無しさん
NGNGオレが意図を誤解しているかもしれないが、その点については悩ましいと思っている。
抽象的な関数とは機能が多岐に分かれているマルチな関数であり、
具体的な関数とは関数の用途が一意に決まっている関数と考えさせてもらう。
仕様という言葉でインターフェイス(I/F)と言い表すと、
設計という言葉で表すべきはその関数の使い方だろう。
I/Fの抽象度が高いほど、関数の使い方は多岐に別れて
冗長するが、関数の数は減り1関数の処理を追うのが容易になる。
(もちろんグローバル変数やgetsetの乱立等するとさらに厄介だしメンテが困難だ)
この場合コメントに頼る面が多くなりがちだ。
onConnectInputAddの仕様(I/F)を入力のみの4つの引数が
何かと接続する処理とした時に、接続する最低条件とマッチしている、
またはこの関数の動くシステムで一般的であるならコメントは不要だが、
4つの引数が不明瞭・説明不足ならばそれは抽象的でも具体的でも無く、
仕様ミスと言える。
抽象度が高いI/Fとは、
例えばメンバの多い構造体や子孫の多い構造体ををI/Fにするような事、
引数の多い物(多すぎるのは考え物であるが)となり、時に仕様と設計の説明が必要になる。
抽象度が低い=具体的な場合とはその逆とすると、仕様と設計の説明が不要になりやすい。
結局、何が言いたいかというと
・抽象せず具体的にコメントを書いて欲しい
・コメントに頼るのでなく設計をコンパクトにして仕様を具体化した関数を作成したい
ということで。
PS:抽象化してコメントがある事がけして悪いとは言わない。
設計が明確ならそういう関数も産まれることだろうと思う。
0534533
NGNG辞世句の代わりに「悪い…と思うコメント例4」を掲示
/* 2050mSec先のアドレスがOutPutする秒数 */
1.半角全角の英数字を織り交ぜないでくれ…ブサイクじゃないか?
見栄えだけでなく、検索する時に使いにくい。
2:mSecとは何だ?SI 単位ではミリ秒の事をmsと書くのだが。
変数関数に単語に大文字を混ぜるのは使い勝手上、必要と
思うが書類やコメントでこの表記は無いだろう。
3:OutPutする=出力するでは?
前述にかぶるが、
他にもOpenする=オープンする、FloppyDisc(誤字)=FloppyDisk=フロッピーディスク
等と、このソースでは見た。
4:mSecと書いた上で秒数と書く、かぶっている。
>>529
>内部的なデータ構造
構造と内部的がかぶっている。
0535デフォルトの名無しさん
NGNG>抽象的な関数とは機能が多岐に分かれているマルチな関数であり、
>具体的な関数とは関数の用途が一意に決まっている関数と考えさせてもらう。
普通、抽象的な関数と言えば、汎化された(generic な)関数だろ?
STL 内のメソッドみたいに。
機能の豊富さとは何の関係もない、つーか、
一般的には、より「単機能」である事のほうが多い。
STL 内部のコメントでも、抽象名詞を使うの禁止!
なんて言われたら、STL 実装者は逃げ出すぞ・・・
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG0538529
NGNG・抽象的=インターフェイスと機能だけ分かってれば使える
・具象的=内部の事柄まで明かさないと使えない
直接的なデータを隠蔽してハンドルとしてやりとりしたり、
実装にかかわらず複数種類のデータに同じインターフェイスを与えるのが抽象化の代表例。
STLは抽象化の典型的な例。
0540532
NGNG>>535
あぁ、日常的に抽象的な関数ってよく使用されている・・・のかな。
UNIX系でC言語が主なだけなので知識不足でした。
失敬m(_)m
STLのメソッドは
ttp://www-ise2.ise.eng.osaka-u.ac.jp/~iwanaga/programming/stl/methods.html
こういう感じのヤツのことね。
オレの論点・マナーとしてあげたかったのは、C言語において、コメントを有効に使う。
という点でした。
”抽象”(反語として”具体”)という言葉を使った為に妙な展開にしてしまったかもしれぬ。
コメントははっきりと分かりやすく意味のある文章を書く方がいい。と思っている次第。
>>536 サンクス
0541532
NGNG>>538
論点のズレとして内部(関数の中身)と外部(外観・インターフェイス)の違いがあったのかなぁと思った。
オレは外観のコメントというイメージだけで上記を書いていたんだけれど、
引数の中身(型が整数・実数・ベクトルetc、構造体の違い)についての
コメントを書く事もあるんだよな。
オブジェクト指向言語におけるコメントの書き方はCのような汎用的な言語での
コメントの書き方とはまた違うんだと思うんで知らないが、構造体の説明をする場合ならC言語でもありうる。
その場合、構造体の名称だけという大雑把な説明で良い場合もあるだろうし、正確な説明でもいいと思う。
マナーという意味でいうなら、C言語は具体的であるべきなのかなぁと思う。
C言語ではそのSTLのように変数という概念だけでなく、双方向リストとか可変長配列等、型に囚われない手法ではないんで、
一意に関数が定義されるから。
高度なプログラムをしていくにつれて型の抽象化や関数の抽象化をさせると、
より良いプログラムができるとはおもうんだけれど、
C言語ではムリ。なのでインターフェイスを抽象的・具体的に分けると
抽象的:(機能が多岐に分かれている)キーが複数あったり、大きい構造体を含んだりする
具体的:機能が一意、その為引数も少ない。多くてもそれぞれの引数がはっきりしている。
というイメージを持った次第。
業務上ではよく「簡潔に具体的に報告しる」と言われるが、
そういう意味での「具体的な」関数を作ると
C言語のソースは見やすくなると思うのでマナーたりうると思う。
最後に、抽象的っつーと大雑把、具体的というと正確にというイメージなんだが、
具象的というと…文盲なんで良く分からね。
0542デフォルトの名無しさん
NGNGマジレスでくさくしすぎたんで、最後に簡単なマナーの提起。
int messageFlag;
BIT16 bitFlag;
long hantenFlag;
Flagとか一々付けなくても、変数がフラグなのは見てすぐわかるんだから名前には要らない。
特に、最後のlongでhanten(反転)って何だ?
0543デフォルトの名無しさん
NGNG中を見るときには、
int R = GetRValue(rgbColor),
G = GetGValue(rgbColor),
B = GetBValue(rgbColor);
としていたけど、
typedef struct{
BYTE R; BYTE G; BYTE B; BYTE A;
} RGBREF;
として、
前記の R の参照は、((RGBREF *)&rgbColor)->R とすると、コンパイル後の
コードも短くなり、速度も上がるような気になったが、読み難くなった。
皆さんはどっちを取る?
0544デフォルトの名無しさん
NGNGその struct(RGBREF) で R が最下位バイトになるって、規格で決まってるんだっけ?
COLORREF と RGBREF のビットイメージって一致する?
それはともかく、僕はマクロを使った方が読み易いかなと思う。
#define GET_RED(colorref) ((colorref) & 0xff)
0545デフォルトの名無しさん
NGNGGetR/G/BValueはちゃんとマクロになっている。
だからそのままGetR/G/BValue使え。
0546529
NGNGint G = GetGValue(rgbColor);
int B = GetBValue(rgbColor);
でいいと思うんだが。
0547543
NGNG細かいことだけど、気になったのでテストしました。
DWORD rgbtest(COLORREF rgb){
int R = GetRValue(rgb), G = GetGValue(rgb), B = GetBValue(rgb),
rr, gg, bb;
rr = R; gg = G; bb = B; // 最適化抑止のためのダミー
return RGB(rr, gg, bb); // 実行コードがないとダメのようだから
}
というルーチンを用意して、もう一つは、Get?Value() を先の RGBREF
を使ったもので、1,000,000 回繰り返し呼んで見ました。333Mhzで。
Get?Value(): 60 ticks コンパイル後asm 10 steps 24 bytes
RGBREF : 54 ticks 8 steps 26 bytes
でした。Get?Value() はサイズが小さいのを再認識。
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNGスレタイどおりに話に戻すとノーマルバージョンと最適化バージョン併記して
#ifdefで切り替えられるようにしておく。
局所的な高速化だけなら>>544のようなマクロでラップはしないかもしれない。
こういうのはあまりソース管理ツールには任せないことが多いな。
0550デフォルトの名無しさん
NGNG0551529
NGNGタブ
0552デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNGハァハァ
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNGindentコマンド使いからのお願い。中確固は省かないで;;
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNG誤解を恐れずに言うと、「コメントを書かない」
コメントが無いと不安になるコードは、ロジックを見直すようにしてる。
でもまだヘタレなので結構コメント書いちゃうかも。
関数名の命名規則と引数の順番に一貫性を持たせる。
然るべき場所で構造体を使う。
ここからは好み鴨
インデントは原則tab
変数・関数名の長さでインデントの深さが変わるような場合だけスペース使ってる。
構造体はポインタ型を大文字で始まる名前にtypedefする。
typedef struct hoge_t *Hoge;
構造体をクラスとみたときにそのメソッドにあたる関数を作ったら、
第一引数はその構造体のポインタ型で、名前は this にする。
void Hoge_Destroy(Hoge this);
0559デフォルトの名無しさん
NGNG> 変数・関数名の長さでインデントの深さが変わるような場合だけスペース使ってる。
最悪
0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNGたいがいは#ifdefの裏側がコンパイル通らないせい。
コメントの問題でエラーになることはない。
0562デフォルトの名無しさん
NGNGこいつぼけ。1行になるような場合に中括弧を書かないのは当然。
indentコマンドが何か困るわけではないし。
0563デフォルトの名無しさん
NGNGぼけとか当然と言われると、煽りたくなるんだけれど、さらっとやんわりと。
マナーとしての話だと>>556はマナーたりうるかということだが、
全ての1行で済む文を中括弧を書かない事に徹して困る人は居ると思う。
(例えば、2行に増やしたい箇所が多い場合は中括弧を書かなくてはならない、
1行に書くとその1行にコメントを付けにくい心境もあるのではないだろうか。
また、if1行のネストと各ifに対応するelseの場所を一目で直感的に判断しづらい。
中括弧があれば秀丸なり、VIなりエディタの特性で対応する位置は分かりやすい)
中括弧を付けておいて行数が増えるのが見づらいと言う人も居るとは思うが増えても1〜2行。
Pythonのような中括弧を付けないタイプの言語を使用していると、気にしないんだけれどね。
ちなみに私は必ず中括弧を書く。ちなみにDoCoMo、NECソフトウェア?のコーディングルールも中括弧を置くように指定している。
indentコマンドで中括弧の無い文を試してみたが、
別にindentコマンドで中括弧が無い文を間違える事はない。
ネストしていたりコメントが入っていると狂うのかな。そこまで調べないけれど。
0564デフォルトの名無しさん
NGNGはいはい、それはよかったね。
0565デフォルトの名無しさん
NGNGコメントは対人に納得してもらう為のマナーとしては要ると思われ。
「このプログラムは正しいです。バグはありません」と言っても、
システムが変更される日は来るかもしれない。その時、他人はメンテしやすいか否か。
関数名変数名が良くても限度はある。
インデントのタブとスペースは環境の問題もあるのでこれは割愛。
(関係はあまりないが、米国のGtkやXのオープンソースを見ると、
インデントが3文字とか、2文字とか、酷いのになると5文字でタブとスペース入り乱れ等があった。
日本は4文字インデントが多いけれど、4文字をインデントにするのは
暗黙のルール?それともマナー?)
大文字の使用方法は千差万別コーディングルール任せ。マナーとしてただ一つだけ言えるのは
int *hogeHoge, HogeHoge, hoge_hoge ;
等、各種様々な書き方をすると思うが、マナーとして関数・変数名の区切り方法は統一した方が良いのでないかと。
typedefはマナーで同意。
C言語でthisキーワードに見立てる行為はマナー…なのかな。マイナーだし、Cで擬似的にクラスを作る人は少ないから。
気づいたので2点、マナーに提案。
・引数の並びは、(入力、入力、出力、出力)のようにする。入出力のあるポインタの場合は出力に準ずる。
・構造体型名には_tを、列挙型名には_eをサフィクスとして付ける(これもマイナー?)
0566デフォルトの名無しさん
NGNGえっと…負け犬?
0567デフォルトの名無しさん
NGNGそうかそうか、よーくわかった。
0568デフォルトの名無しさん
NGNGえっと…リアル厨房?高校生?精神が幼稚な大人も増えてるがまあ大学生くらいか?
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGこれ使いにくいな
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG他人への公開用に用意していると言った方が正しいかも知らん。
わざとらしい例を挙げるとtypedef std::complex<double> dpoint_t;とか。
0573デフォルトの名無しさん
NGNGCの場合_tで終わる名前は将来の言語仕様拡張のために予約されてるから、
あんまり使わない方がいい(現状では使用しても問題ない)。
0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNGやっぱstructはuppercaseだな
0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG正確にはPOSIXで予約されてる、ということらしいです。
0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNG使うよ
0581デフォルトの名無しさん
NGNGつかうもんよ。
0582デフォルトの名無しさん
NGNG使ってくれ。
サイズを全部intやlongで済ませる奴らUZEEEEE!!
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNGtypedef int position_x_t;
typedef int position_y_t;
position_x_t x;
position_y_t y;
ってやってるよ。
0585デフォルトの名無しさん
NGNG方向性は正しいが、話の流れからはちょっとずれてる気が。
0586デフォルトの名無しさん
NGNGサイズを厳密に区別しようとすると、たとえば配列のインデックスもsize_tに
しなきゃいけなくなりませんか?
size_t s = 10;
double array[s];
for (size_t i = 0; i < s; i++)
array[i] = 0.0;
みたいな。
0587デフォルトの名無しさん
NGNGfor(int i = 0; i < s; i++)
これはコンパイルエラーだね。
0588デフォルトの名無しさん
NGNG配列のインデックスはintでいいんじゃない?
添え字アクセスってポインタ演算のsyntax sugarだしね。
double d[10]
で d[i] とするのは *(d + i) と同じだけど、
d + i == (size_t)d + sizeof(double) * i
なわけで。
型がサイズを覚えてくれているから、普段はintを使えるですよ。
そうじゃない場合、例えば malloc の引数には size_t を渡すけど
double *d = malloc(10 * sizeof(double));
で、 10 は int で、sizeof(double) は size_t で、かけたら size_t。
sizeof(double) を掛け忘れたらコンパイルエラーになってくれると、ちょっとうれしい。
size_t と int を無条件で比較してる場合もエラーになってくれたらうれしい。
size_t / size_t が int になる、というルールがあれば、
int a[10], i;
for (i = 0; i < sizeof(a) / sizeof(int); i++)
を
for (i = 0; i < sizeof(a); i++)
と書き間違えるのを防げるしさ。
支離滅裂スマソ
0589デフォルトの名無しさん
NGNG> 型がサイズを覚えてくれているから、普段はintを使えるですよ。
あの、そういう話じゃなくて、size_tは処理系ごとにulongとかuintにtypedef
されてるわけでしょ?配列のサイズをsize_tで宣言しておいて、iをintとかで
決め打ちしちゃうと、sizeof(size_t) > sizeof(int)の場合にアクセスできな
い範囲が出てきちゃう可能性があるのはまずくないのかな?ってことです。
特にコードを違うプラットフォームに移植する場合とかね。
0590デフォルトの名無しさん
NGNGそれでもって、添え字アクセスもint。
配列を宣言するときって、サイズ(バイト数)じゃなくて要素数だから、
size_t じゃなくて int でいい気がする。
あと、size_t は size_t か size_t * int のいずれかだ、とか
size_t / size_t は int だ とかいうルールは
typedefだけじゃたぶんどうしようもないので…
言語そのものへの不満ってとこでせうか。そろそろスレ違いか
0591デフォルトの名無しさん
NGNG抽象的かつ厳密なものってあるじゃない。
ただ、日常生活すべてに数学が適用できないから、
多くの物事に共通する事実を述べようとすると、結果的に大ざっぱになることが多い、
それだけのことだと思う。
0592デフォルトの名無しさん
NGNGそうかそうか。よーくわかったぞ。
0593デフォルトの名無しさん
NGNGstrlenだってsize_tを返すし。callocの要素数を指定するほうの引数もsize_tになっているし。
>>588
sizeof(a) / sizeof(int)はマクロにすれば?
0594デフォルトの名無しさん
NGNGいや、588や590を読んでわかったんだけどsizeof()の返り値の型がsize_tなんだよね。
つまりsize_tはいわゆる「バイト数」を示す型だってことなんだろう。
それからすると配列のサイズ指定や添字にsize_tを使うのは(char[]を除いて)おかしい、
って話になるんだと思う……
と思いかけたんだが、callocのnmembがsize_tなのを見ると、やっぱりそういう
簡単な話じゃないんだろうなあ。やっぱ配列のサイズも添字も両方size_t
なのが一番「お行儀」がいいのかな?
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNG・1byteのものをsize_t 最大分だけ
・size_t 最大byteのものを1個分だけ
のどちらも可能なように、あえてああいう引数になってるんだって。
0597デフォルトの名無しさん
NGNGK&Rに、例題のstrlenの返り値の型として「より慎重を期すのなら(ptrdiff_t
よりも)標準ライブラリにならってたぶんsize_tを使うだろう」とあります。
>>596
なーる。するとやっぱりsize_tは「バイト数」を表わす型ってことですかね。
0598デフォルトの名無しさん
NGNG引数の最初は第一目的語だろうな。
FILE*fdや、int fdや、pthread_t threadとか。
strcpyもmemcpyもdstだし。
結局、OUTなのかもしれんが。
構造体は、それを使う側に構造体を意識させる
(メンバを見せる)ならtypedefしない。
そのまま sturct hogehogeにする。
ついでに言うと、構造体の定義は(仕様として)構造を見せてはいけない。
メンバの紹介はいいが。
#どうしてもバイト列になっている定義がないと気がすまない人がいるが必要か?
#んなことするからエンディアネスを気にしないといけなくなるんだが。
#型とメンバ名と意味の羅列で十分だと思うんだが。
構造体を意識させない(つまり内部は秘密)なら、typedefする。
その場合のtypdef名は hogehoge_t とする。
実態の構造体タグ名はあくまで内部的なもので外部仕様にしない。
ってのが標準じゃないのか?
posixやiso/ansiを見ているとそんな感じなんだが。
0599デフォルトの名無しさん
05/01/28 15:39:000600デフォルトの名無しさん
05/02/02 03:46:41>>558
typedef については同意できない。むしろやってはいけない。
構造体をtypedefし"struct"を無くすことについては賛成(C++ではもともと必要ないため)だが、
構造体のポインタを新たな型とするのはまずい。例えば
int func(Hoge a)
としたときこの関数を呼び出すとき引数として渡される変数はコピーされ呼び出し側では
影響しないと考えるのが普通だろう(Call by Value)。しかしHoge型がポインタ型である場合、
呼び出し側の変数を破壊してしまうかもしれない(Call by Reference)。
変数の特性は文法をもって把握したいよ。
0601デフォルトの名無しさん
05/02/02 12:05:40何のために C の文法に const があるの?
0602デフォルトの名無しさん
05/02/02 13:14:17>>558は、構造体については(すべて)そのポインタ型を大文字で始まる名前にtypedefす
る、って言ってんだから、問題ないんじゃないの?
構造体へのポインタと、構造体自身と、両方が大文字で始まる名前にtypedef
されてると>>600の言うような心配もわかるけどね。
> 変数の特性は文法をもって把握したいよ。
これについては>>601が言い尽してるね。
0603デフォルトの名無しさん
05/02/02 13:31:30>>600の見解はともかく、>>558 の
>typedef struct hoge_t *Hoge;
はMS流にconstモノもちゃんとtypedefした方が良いような気がする。
ついでにstruct自体もtypedefすることにして、
typedef struct hoge_t Hoge, *PHoge, const *PCHoge;
みたいに。
0604600
05/02/02 17:56:52const性を強制・明示するためだよね。確かに例の場合constを付ければ話は解決。
だから変数の特性を明示できるように、ポインタに限らず、constもtypedefで隠蔽しないでほしいんだ。
ポインタをtypedefしちゃう人は>>603のようにconstも含めちゃう気もするし。
#601には意見を否定されたのか、補足されたのかよくわからない。
#例が悪かったのかもしれん。
>大文字で始まる名前
自分ルールよりはできるだけ言語仕様を活かしてほしい。
typedef で*,const,volatile,&,配列などを含めてしまうと、
宣言時にその特性がわかりにくくなってしまう。
だからMSのコードは必然的にハンガリー記法を使っている。
自分はハンガリー記法または、それに類する記法を強制されかねないライブラリは嫌いだ。
#・・・別にハンガリー記法が好きなら、なにも言えないけど。
0605デフォルトの名無しさん
05/02/02 18:03:06RECT/LPRECT/const RECT *のように構造体の場合constポインタはtypedefせずに使っている。
0606デフォルトの名無しさん
05/02/02 18:09:49> 自分ルールよりはできるだけ言語仕様を活かしてほしい。
>
> typedef で*,const,volatile,&,配列などを含めてしまうと、
> 宣言時にその特性がわかりにくくなってしまう。
そんなこと言い出したら struct を typedef でくるむのだって、
宣言時に本当の型が何なのかわかりにくくなってるんだが。
typedef って単なる別名だし。
0607デフォルトの名無しさん
05/02/02 18:22:53msdnでRECTひくと↓みたいな定義が出るので、門外漢がこれだけ見るとそう思うかもしれないけど、
typedef struct _RECT {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT, *PRECT;
実際にはconst * 版のLPCRECTは各種interfaceのI定義で結構使われてますよ。
↓ソース
http://www.google.co.jp/search?as_q=LPCRECT&num=10&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&as_epq=&as_oq=&as_eq=&lr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=msdn.microsoft.com
確かになんでもかんでもconst版があるわけではないけど。
0608デフォルトの名無しさん
05/02/03 00:13:09その調子で
volatile バージョンもちゃんと typedef した方が良いような気がする?
C++なら参照型も typedef した方が良いほうが気がする?
アフォか。
純粋に struct,enum,union を省くためだけの typedef 以外は邪魔。
前方宣言も効かないしエラーメッセージとも照らし合わせにくい。
初心者やライブラリユーザーがディープコピーとシャロウコピーを
間違えてしまう可能性も増える。
それに比べ得るほどのメリットがあるとは思えない。
0609デフォルトの名無しさん
05/02/03 12:05:26個人的には
>純粋に struct,enum,union を省くためだけの typedef
ってのも、どうかと思うけどな。
0610デフォルトの名無しさん
05/02/06 13:16:25C++があるから、違和感なく感じるんだろうけど、
純粋なCではあまり歓迎されることではないんだろうか?
0611デフォルトの名無しさん
05/02/06 13:31:36C++ 以前はよくやってた手よ。
typdef struct {hogehoge} TypeName;
って。
0612デフォルトの名無しさん
05/02/06 13:38:25それは >>608 の言ってる「省く」とはちがうだろ。
↓これに引っかかるんじゃね?
> 前方宣言も効かないしエラーメッセージとも照らし合わせにくい。
0613612
05/02/06 13:39:13× >610
○ >611
0614デフォルトの名無しさん
05/02/06 13:49:05>前方宣言も効かないし
不完全型宣言って、知っている?
>エラーメッセージとも照らし合わせにくい。
その前に照らし合わせにくい名前をつける方が
どうかしているかと思う。
>初心者やライブラリユーザーがディープコピーとシャロウコピーを
>間違えてしまう可能性も増える。
何か、>>608 のほうが大きな勘違いをしていそうな気がする。
0615デフォルトの名無しさん
05/02/06 14:44:49「前方宣言」と「不完全型宣言」ってどうちがうの?
「不完全型宣言」を使うと LPCRECT に対して型の宣言のみができるの?
照らし合わせにくい名前については、
使う側には LPCRECT を使わせておいて、
エラーメッセージは const strcut _RECT が出るのが不味いって言う話だろ。
_RECT ならまだマシだが、どうせ typedef するからって
本当のタグ名をいいかげんに決める奴も多い。
0616デフォルトの名無しさん
05/02/09 23:35:25簡単な例だけど
class clsA;
class clsB {
・・・・
};
class clsC {
clsA *pA;
clsB pB;
};
この場合、clsCのなかのpAはclsAを先に不完全にクラスであるとだけ宣言しても
使用することが出来る。なぜならポインタのサイズが分かっているから。
この場合を「不完全型宣言」といいます。
clsCのなかのpBはクラスのインスタンスそのものですから、clsBの完全な定義が
pB定義以前になければならない。最終的なclsCのサイズも決定できません。
この場合を「前方宣言」といいます。
0617デフォルトの名無しさん
05/02/10 00:07:18Cで書けば
struct strctA;
struct strctB {
int a;
};
struct strctC {
struct strctA *sA;
struct strctB sB;
};
こんな感じです。
ちなみに、strctAの不完全型宣言ではtypedef宣言は出来ませんが、strctBではできます。
0618デフォルトの名無しさん
05/02/10 00:35:48無知、思い込み。晒しage。
0619デフォルトの名無しさん
05/02/11 01:38:01具体的な指摘を聞きたいね。
0620デフォルトの名無しさん
05/02/11 06:41:55厚顔無恥。晒しage。
http://www.google.co.jp/search?hl=ja&q=%E5%89%8D%E6%96%B9%E5%AE%A3%E8%A8%80
0621デフォルトの名無しさん
05/02/11 10:24:320622デフォルトの名無しさん
05/02/11 19:14:34struct strctB {
int a;
struct strctA *sA;
struct strctB sB;
};
0623デフォルトの名無しさん
05/02/11 20:36:560624デフォルトの名無しさん
05/02/15 00:39:400625デフォルトの名無しさん
05/02/17 19:01:49そうかそうか。それは素晴らしいマナーだな。うん。感心したぞ。
0626デフォルトの名無しさん
05/02/17 22:26:010627デフォルトの名無しさん
05/02/18 00:54:33そうか。うーん、なるほど。それは素晴らしいアイディアだ。
0628デフォルトの名無しさん
05/02/18 01:38:46オレは
0629デフォルトの名無しさん
05/02/18 10:55:45俺もそうなんだが。旧い流儀だって言われるw
確かにconst char * の方が小さくなるんだけど
0630デフォルトの名無しさん
05/02/18 13:34:580631デフォルトの名無しさん
05/02/18 13:51:100632デフォルトの名無しさん
05/02/18 14:38:100633デフォルトの名無しさん
05/02/18 14:38:15処理系依存の機能に頼るところが
一番頭悪そう。
0634デフォルトの名無しさん
05/03/01 00:26:21char*じゃなくてconst char*にするってこった
0635デフォルトの名無しさん
05/03/01 02:05:410636デフォルトの名無しさん
05/03/01 02:06:160637デフォルトの名無しさん
05/03/01 18:53:05C++とかインライン展開最適化されることを前提に作ったりしませんか?
0638デフォルトの名無しさん
05/03/05 12:58:340639デフォルトの名無しさん
05/03/07 02:04:33其れによって効率良くコーディングを進め、バグの少ない物を作れるのなら、「ある程度」のコンパイラ依存は容認しては・・?
0640デフォルトの名無しさん
05/03/07 03:05:42意味もなく常に最大限のポータビリティを確保しようとする奴はアフォ
0641デフォルトの名無しさん
05/03/09 09:55:410642デフォルトの名無しさん
05/03/15 23:09:57必要かどうかはそれとは別。
0643デフォルトの名無しさん
05/03/15 23:16:40それなら、JAVA仮想マシンとかで十分
0644デフォルトの名無しさん
2005/06/16(木) 11:16:18手塚治虫の吹き出しかよ!
0645名無しさん@そうだ選挙に行こう
2005/09/10(土) 17:58:550646名無しさん@そうだ選挙に行こう
2005/09/10(土) 18:02:420647デフォルトの名無しさん
2005/10/03(月) 15:40:380648デフォルトの名無しさん
2005/11/21(月) 15:38:160649デフォルトの名無しさん
2005/12/24(土) 11:47:460650デフォルトの名無しさん
2005/12/24(土) 12:11:200651デフォルトの名無しさん
2005/12/29(木) 18:06:41strctAの不完全型宣言でもtypedefできるだろ。
ようは使う時ポインタなら問題ない。
0652デフォルトの名無しさん
2005/12/30(金) 00:24:230653デフォルトの名無しさん
2006/02/03(金) 21:37:200654デフォルトの名無しさん
2006/02/04(土) 00:57:34int main(){
int *pa[500],*pb[500],*pc[500],*pd[500],*pe[500],*pf[500];
int i;
for(;;){
for(i=0;i<500;i++){
*pa[i]=5;
*pb[i]=5;
*pc[i]=5;
*pd[i]=5;
*pe[i]=5;
*pf[i]=5;
printf("%d,%d,%d,%d,%d,%d\n",*pa[i],*pb[i],*pc[i],*pd[i],*pe[i],*pf[i]);
}
return 0;
}
return 0;
}
↑みたいなプログラムを安易に張りつけないw
0655デフォルトの名無しさん
2006/02/04(土) 00:59:06int main(){
for(;;){
int *pa[500],*pb[500],*pc[500],*pd[500],*pe[500],*pf[500];
int i;
for(i=0;i<500;i++){
*pa[i]=5;
*pb[i]=5;
*pc[i]=5;
*pd[i]=5;
*pe[i]=5;
*pf[i]=5;
printf("%d,%d,%d,%d,%d,%d\n",*pa[i],*pb[i],*pc[i],*pd[i],*pe[i],*pf[i]);
}
return 0;
}
return 0;
}
だったorz;
0656デフォルトの名無しさん
2006/06/24(土) 00:21:140657デフォルトの名無しさん
2006/06/24(土) 22:24:110658デフォルトの名無しさん
2006/06/29(木) 20:20:33無限ループを作る時、for(;;) while(1) おまいらならどっち使う?
0659デフォルトの名無しさん
2006/06/30(金) 06:25:232個目の式(ループ継続条件)を省略した場合の言語仕様は何のためにあると思う?
whileだとlint(と同じことをするツール)に文句言われる場合があるのも鬱陶しい。
0660デフォルトの名無しさん
2006/06/30(金) 11:20:01全面同意。
0661デフォルトの名無しさん
2006/07/03(月) 04:09:43俺は4。
0662デフォルトの名無しさん
2006/07/03(月) 21:01:13俺は2だけど、
周り見てると4が多い。
0663デフォルトの名無しさん
2006/07/04(火) 23:29:16俺はタブの方が好きだけど、現実には空白を主に使うようになっている。
実際には空白だけど、カーソル移動はタブの如く動いてくれる機能が自分の使っているエディタに欲しい。
或いはファイルへの読み書き時に自動で変換してくれるものでも良し。
0664デフォルトの名無しさん
2006/07/05(水) 00:39:14空白にするメリットって何?
0665デフォルトの名無しさん
2006/07/05(水) 10:26:23ユーザーやアプリケーションのタブ設定によって表示が変わらない。
0666デフォルトの名無しさん
2006/07/06(木) 19:53:48とはいえ、同じソースファイルで、インデント幅が違ったり、空白とタブが混在してるのは許せん。
0667デフォルトの名無しさん
2006/07/26(水) 13:15:45● 細木数子 × 恫喝 × 島倉千代子の弱み
細木数子のブレーンが必死だ。 親しい芸能関係者を呼んで、「 お金はいくらでも出すから
島倉のスキャンダルを教えてくれ 」 と頼んでるらしい。 細木と島倉といえば、 マスコミでは
島倉の危機を救った命の恩人のようだが、実際は細木が島倉を食い物にしたと噂されてる。
その真相を島倉にしゃべられたくないため、 先日、 羽田空港で二人がばったり会った際に、
島倉に「 余計なことをしゃべるな 」とクギを刺したようだ。細木といえば、若い頃は暴力団の
幹部の女だったとか、いろいろ黒い噂のある人物だ。たいていのスキャンダルなら「 力 」と
「 金 」で封じ込めると思うが、何か焦ってるのだろうか。
細木の話によると「 島倉千代子はかって12億円の借金があったが、その借金を細木がマネー
ジャーや送り迎えをしながら協力した 」そうだ。それなのに「 借金を返済したとたんに事務所を
移転して音沙汰なし 」とか。 これが本当であれば島倉千代子も恩知らずといえそうだが、これ
に対しては逆に 「 細木数子が島倉千代子から金を騙し取っていたので 島倉側は細木数子に
対して怒りを覚えてる 」 という情報もあるようだ。 いつまでも返済できない借金を所属レコード
会社のコロムビアに借金を肩代わりしてもらうことで、別の事務所に移籍して細木数子の魔の
手から逃れたとか。細木数子といえば、実弟のマルチまがい商法疑惑やら悪徳霊感商法疑惑
やらの黒い噂も流れている。 たたけばいくらでも埃の出る身だろうが、 視聴率を稼いでいる今
は大丈夫かもしれない。
http://www.nazotoki.com/obatyan.html
■ このスレッドは過去ログ倉庫に格納されています