トップページ⇒tech
304コメント75KB

宗教戦争

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
コーティングに関する宗教戦争はここでやってCray。
ハンガリアン記法とか、goto&多重継承の悪用とか。
0268デフォルトの名無しさんNGNG
std に対してだけは。
0269デフォルトの名無しさんNGNG
俺もタブ幅2だな
別に2以上なら見やすさはどれだって同じなんだし、
だったらコードにウィンドウの幅いっぱい使いたいじゃん?
0270デフォルトの名無しさんNGNG
2だと狭いし4だと広すぎるからタブは3!!
またスペースに変換して問題なければ必ず変換して保存する!!
0271デフォルトの名無しさんNGNG
>>267
使う。
使わない理由を聞かせてもらおうか。 ↓
0272デフォルトの名無しさんNGNG
namespace使ってないプログラムに使うとエラーの出る
可能性があるじゃん。
0273bccNGNG
#include <iostream>

namespace hoge{
  int main(){
    std::cout << "(゚∀゚)アヒャ!!" << std::endl;
  }
}

using namespace hoge;
0274デフォルトの名無しさんNGNG
>>273
(・∀・)イイ!!これがすべての答えになりそう。
0275デフォルトの名無しさんNGNG
ハンガリー記法がハンガリアン記法ならば
ニュートン力学はニュートニアン力学とすべし
0276デフォルトの名無しさんNGNG
ニュートニーズ
0277デフォルトの名無しさんNGNG
>>272
名前空間でincludeすればいいじゃん。
0278デフォルトの名無しさんNGNG
>>272-273
向こうに書いたやつの転載。

書こうと思えば書けるが、標準で使われてしまっている名前はなるべく避けるのが
常識じゃないか?
とすれば、名前の衝突はそうそう発生しない。
0279デフォルトの名無しさんNGNG
そもそも、名前空間 std って何のためにあるんだ?
0280デフォルトの名無しさんNGNG
グローバル名前空間でvectorとかlistとかいう名前を使ってる
昔のプログラムがそのまま使える。
0281デフォルトの名無しさんNGNG
>>280
むしろ可読性が落ちないか?
0282デフォルトの名無しさんNGNG
>>281
ああ、同じ名前がstd::プリフィックスがついているかいないかで意味が
変わるのが読みにくいって事?

そういう事は滅多に無いし、std::がついているからと言って読みにくく
なるという事は絶対にないと思う。
0283デフォルトの名無しさんNGNG
>>281
漏れは C のライブラリに慣れちゃってるから、std:: が鬱陶しいんだよな。

つーか、C のライブラリのスタイルで何か問題があったのか?
それが標準関数である事は、見ればすぐわかる。
boost のような外部ライブラリが名前空間を使うのは納得いく。
0284デフォルトの名無しさんNGNG
ライブラリに名前空間があるのは普通だと思うが。
それが標準であっても。
0285デフォルトの名無しさんNGNG
何か、微妙に別の宗教戦争になりそうだな。
0286デフォルトの名無しさんNGNG
ハンガリアンって大阪のアレだろ?
0287デフォルトの名無しさんNGNG
文法を変更するマクロの是非について

例)
#define unless(b) if(!(b))
#define until(b) while(!(b))
#define elseif else if
#define elsif else if
#define NO_MORE_CASES break; default: assert(0)
#define LOOP(i, a, b) for((i) = (a); (i) < (b); ++(i))
#define LOOP_ENUM(i, name) for((i) = name##_FIRST; (i) <= name##_LAST; ++(i))
#define IF_DUMMY if(0)
#define ifnull(b) if((b) == NULL)
0288デフォルトの名無しさんNGNG
elseif 以外は全部許せんな。
人によっては elseif も NG だろう。

あと、unless 作ってるのに ifnull を用意する必要があるのか?
0289デフォルトの名無しさんNGNG
戦争(・A ・)イクナイ!
0290デフォルトの名無しさんNGNG
>>289
理由を述べよ。;y=ー( ゚д゚)・∵. ターン
0291デフォルトの名無しさんNGNG
gets,strcpyの是非についてはこちらでどうぞage
0292デフォルトの名無しさんNGNG
gets はバッファサイズ指定できないのでキモイ。
fgets 使うべし。

strcpy もそうだけど、
文字列が途中で切れないようにバッファサイズを確保して
コピーすることが多いような気もするのでその場合は問題なし。
0293デフォルトの名無しさんNGNG
#define gets(buf) fgets(buf, sizeof(buf), stdin)

こんなところで
0294デフォルトの名無しさんNGNG
char *buf = malloc(1);
0295デフォルトの名無しさんNGNG
buf = relloc(256); // ぬるぽ?
0296デフォルトの名無しさんNGNG
HWND hwnd = static_cast<HWND>(new char[true]);
0297デフォルトの名無しさんNGNG
>>295 ガッ
0298デフォルトの名無しさんNGNG
>>296
何がしたいん?
0299デフォルトの名無しさんNGNG
ないしょ♥
0300デフォルトの名無しさんNGNG
標準のauto_ptrが参照カウントではなく所有権譲渡方式なのは
何か理由があってのことですか?
見たところATL/WTLの多くのハンドルクラスも参照カウントではなく
所有権譲渡方式で実装されてるみたいだけど。。。
実装が簡便で軽くなるのは分かるけれども、制限が多いので
boost::shared_ptrのようなものを使う人も多い訳ですよね。
0301デフォルトの名無しさんNGNG
>>293
buf がポインタだと死ぬ。
0302デフォルトの名無しさんNGNG
istream& std::getline(istream&, string&, char)
でOK
0303デフォルトの名無しさんNGNG
>>301
これはな・・・ちゃうねん。
0304デフォルトの名無しさんNGNG
>>303
大阪
■ このスレッドは過去ログ倉庫に格納されています