[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 08:49 / Filesize : 163 KB / Number-of Response : 776
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++ってなんであんなに肥大化しちゃったの?



1 名前:デフォルトの名無しさん [2008/08/28(木) 14:48:15 ]
仕様が大きすぎるくせに、
実用的なライブラリが未整備。

なんかいらいらしない?
こんなこともできないくせに、
なんでこんな仕様ばっかり作るんだよって。
C++ってなんであんなに肥大化しちゃったの?
名前: 仕様書無しさん
E-mail:
内容:
仕様が大きすぎるくせに、
実用的なライブラリが未整備。

なんかいらいらしない?
こんなこともできないくせに、
なんでこんな仕様ばっかり作るんだよって。

C++はなんでもできます。でもなんにもできてないので
つくってね。的な。

658 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 21:48:33 ]
VC9の話かな?
Dinkumwareは糞だと分かっててももういいやって感じだな
boost他とのからみもあるし

_SECURE_SCLってみんな切ってるのかね?


659 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 21:53:04 ]
>>656
いや、演算子の多重定義は要る。C++のは改良の余地がありまくりだが。

660 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 21:54:17 ]
>>658
あ、ごめんなさい
VC9SP1でした。

661 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 22:35:26 ]
演算子のオーバーロード嫌がるのってJavaの人くらいかと思ってるんだが違うのかな
オーバーロード可能な言語どころか追加定義できる言語もあるわけで

あとテンプレート悪玉論唱えてる人は簡単なアプリでもいちいち自前で各型向けのlistとか作ってるの?
どうしてる?

662 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 22:52:54 ]
>>661
そういうことを主張する人は、そもそも動的型付けか何かで
テンプレートがなくても問題ない言語を使っているんだろう。

663 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 23:02:11 ]
たんなる総称型なら持っている言語は多いとは思うが
C++のテンプレートとは別モンじゃないか?
C#やJavaのGenericsも違うしな

664 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 23:06:11 ]
>>663
日本語読めないの?

665 名前:デフォルトの名無しさん [2008/10/06(月) 23:06:40 ]
コンセプトをインターフェースにすればいいだけだろ。

666 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:12:49 ]
テンプレートが悪いって言ってる人間はテンプレート全く使ってないと思ってるの?



667 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:25:20 ]
coutとかstringとか
ありふれた道具の裏にことごとく潜んでるサブプライムローンみたいな存在ですから

668 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:07:56 ]
>>659
Lisp とか Smalltalk みたいに、関数と演算子の区別が無い言語なら何やっても良いよ。
C++ みたいな言語に入れるのは間違いの元だと思われ。

669 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:12:55 ]
STL, boost, 自分で作ったテンプレートも特に問題なく便利に使えてるんだから
テンプレートに問題があってもかまわない。演算子も。

670 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:15:04 ]
&&と||のオーバーロード許可してるのは明らかな設計ミスだろ
遅延評価持ってないくせに

671 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:17:07 ]
そういう人間とチームで開発すると苦労しそうだから嫌というか不安。
C++ だと最初にルールを決めても破綻しそうだな。

672 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:19:00 ]
お、済まん。>>671>>669 向けね。

673 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:27:25 ]
>>666
嫌なら使うなよ

674 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:40:58 ]
ぶっちゃけるとテンプレートの問題より>>669みたいな奴が開発に関わる事の方が問題がある

675 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:51:50 ]
C++は問題があるから使わないってやつはどれほどチーム開発で試してきたんだよ。
C,C++は仕事でそれぞれ20,15年ぐらい使ってきが、ここ5年ぐらいC++特有の問題は
たいして起きていないぞ。けして優秀な人間ばかり揃えているわけではない。
新卒でいきなりC++使わせているけどそれほどひどい使い方はしていないよ。
むしろCで作らせたほうが間違いが多いぞ。

676 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:54:21 ]
テンプレートやらオーバーロードやらを自由に使わせてそれなら
相当優秀な人間が揃ってるか、問題を認識できないボンクラばかりかのどっちかだな



677 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:55:57 ]
>>670
Lispで言ったらspecial formとprocedureをごっちゃにしてるようなもんだよな
かなり笑える話だ

678 名前:デフォルトの名無しさん [2008/10/07(火) 02:17:43 ]
LispはC++の代わりにならないからな。

679 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 02:20:30 ]
>>678
意味分かんないで反応してるだろ

関数呼び出しが引数を全部先に評価しちまう正格評価のくせに
&&や||を関数にしちまうなんてのは、
情報系の学部学生でもやらないレベルの誤りだろ

680 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 02:23:38 ]
なんでC++は難しいって事になって
C++を悪く言う奴はC++を使ってない(使えない)って事になってるんだ?

いや、そこまで強烈に決め付けできる幸せな脳みそだからC++使ってて幸せなのか^^;

681 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 02:37:49 ]
C++は完璧でこの世で最も優れた言語なんだ!!!!
C++に欠点なんか無い!!
だからC++を悪く言う奴はC++を理解出来ないに違いない!!!!
って考えてるからだよ^^

682 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 04:24:22 ]
あんまりレベルが違い過ぎると、合わせるのに疲れ果ててしまうのがC++の厄介なところ。

683 名前:デフォルトの名無しさん [2008/10/07(火) 04:32:49 ]
>>679
何を問題にしてるのかさっぱり分からないのは確かだけどな。

684 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 04:43:10 ]
operator&&を組み込みの&&演算子と同じ挙動にすることは絶対に出来ないんだぞ
ひどい話だろ

685 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 04:48:59 ]
前10レス読んだだけの脊髄反射レスだけど
万全でなければ使えないようにするというのも、またどうかとも思うけどね
論理演算子でトラブッた事はない訳で
コードする側が保障する必要のあるものは、便利にする過程でどうやっても登場するよ。
これらはテストツールの充実で解決して欲しいね。

686 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 04:50:01 ]
あ゛ーC++にテストツールとか無茶もいい所か・・・
スレタイ読まずでした



687 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 05:16:10 ]
>>684
More Effective C++に書いてあるね

688 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 08:41:14 ]
>>684
誰も使ってない部分の話はどうでもいい

689 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 08:51:14 ]
中途半端な使用を放置してる事は問題なのに、どうでもいいとか問題無いとか…
問題を見てない振りしてるくせに、使ってない奴はレベルが低いとか…

690 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 08:53:38 ]
使用→仕様、ね。変換ミスした。

691 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:00:20 ]
>>689
で、問題になったことは?
多重継承のがずっと問題あるのに全く話題にあがらないのが不思議なんだけど

本質を突かない話なんか本当にどうでもいい

692 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:03:39 ]
そんなの本質じゃないごっこはどうでもいいけど、
問題を上げればきりが無いのが C++ だな。

693 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:06:16 ]
>>692
素直にこれ豆知識なって書いておけばよかったのに
顔真っ赤かよww

694 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:07:29 ]
問題があるから使わないのに、俺は問題と認識してないからと
突っ走る奴が居るのが問題なんだよな…

695 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:14:44 ]
>>693
どう見ても君の顔が真っ赤だし、なんか歯軋りとかも聞こえますよ。
打鍵の音もなんか凄そうですw

696 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:17:29 ]
突っ走るって何のこと?
誰も使ってない(=使うことではない)のだから…うん?

抽象的な表現に逃げられると途端に意味がわからん

俺はこんな仕様知ってるんだぜ大会ではないんだぜだぜ



697 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:21:32 ]
>>695
怒った時の君の顔が浮かんだ
普通の人は頭に血がのぼっても歯ぎしりなんかしない

698 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:22:47 ]
>>695はもうキーボードの前にいるのか
仕事しろw

699 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 10:16:33 ]
なんか校則がギッチギチのDQN学校の生徒が、
校則ゆるゆるの進学校に対して、お前のところはルールがゆるすぎるから学校の治安が悪くなるって喚いてるイメージw

700 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 10:26:45 ]
>>683
int i=0;
if (i++ || i++) {
printf("%d", i);
}



701 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 11:27:57 ]
落とし穴だらけでもはや正格評価で&&や||を関数化することの問題すら
C++信者には見えなくなってるのか

以下のようなif文がある
if (expr) statement
exprを評価して真の場合にだけstatementを評価する
常識だな

これを
if(expr, statement)
という関数にすることを考える

C++は多くの言語と同様正格評価だから、if関数を評価する前に
expr, statementの両方を評価することになるが、
言うまでも無くこの時点で元のif文とは意味が異なっていることになる

&&や||も全く同じだ
これらはショートサーキットだから、本来右オペランドは条件付きでしか
評価されない
C/C++のコーディングではその性質が多用されるが、関数化されていれば
常に評価されてしまう

禿は、無用で、使えば問題を引き起こすと分かっているこの機能を
平然と取り入れ、仕方が無いからC++ユーザはそれを避けることで
問題を回避する
些細に見えるかもしれないが、このようなものが積もりに積もって、
結果としてC++は糞の山になっているんだぞ

702 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 11:32:25 ]
誰も見えてなくないじゃん。 使わないからどーでもいい、って言ってる。
んなこと言い出したらCだって過去の負の遺産が大量に残っているが。

703 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 11:35:17 ]
>>702
「お前は」どうでもいいかもしれないが「言語としては」どうでもよくないんだよ

実装者にはその無用なものを実装するコストがかかり
教育者にはその無用なものを使ってはいけないと教えるコストがかかり
学習者にはその無用なものを使わないように学ぶコストがかかり
ユーザにはどこかの馬鹿が罠にはまったかどうかをチェックするコストがかかる

704 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 11:37:37 ]
> Cだって過去の負の遺産が大量に残っているが
墓穴だな

C++はCとの互換性のために、その負の遺産を全て引き継いだ上で
比較にもならないほど多くの落とし穴を自分で掘っているのだから

705 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 12:54:10 ]
まぁ、批判するにも代替手段を提示して欲しいわなw
畢竟どの言語もみんなしょうがなく使ってるわけだしw

706 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 13:11:11 ]
細かいところまで見たらウンコな仕様があるのはどの言語もだいたい一緒だと思うぞ

Javaだってウンコだらけだし



707 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 13:24:32 ]
問題はC++のうんこは臭すぎることなんだよね
形は整ってるかもしれないけど飛び散りすぎてるし

708 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 13:33:29 ]
そもそもCが糞なんだから、C++が糞なのは自明。


709 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 14:38:21 ]
>>705
なんで代替手段を提示する必要があるわけ?
言語の批判は批判でいいじゃん
それと他の言語が糞だからってのも関係が無い

710 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 15:54:05 ]
C++が糞言語でないと気がすまないらしいな。

711 名前:デフォルトの名無しさん [2008/10/07(火) 15:59:52 ]
>>709
結局のところ、みんなC++は糞だと思いつつも、ほかの言語はさらに糞なので
一番まともで最高なC++を使ってるわけだよ。
で、もっといい言語があるなら乗り換えたい。
しかし、そんなものはないので仕方なくC++を使ってるわけさ。
そういう状況下で、「C++は糞」とか主張しても「で、もっといい言語あるの?」
って聞き返されるのは当然でしょ。
関数型言語にはものすごい期待したんだけど、使ってよかったと思える状況って
CGIとか程度じゃない?
CUI全盛の時代だったらいっぱい使い道あったんだろうけどね。
結局、糞だ糞だと思いつつもC++を使うしかないわけ。
だって今ある中では最高の言語だからね。

で、もっといい言語あるの?

712 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 16:01:08 ]
ひどい釣りだな

713 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 16:05:51 ]
>「で、もっといい言語あるの?」
>って聞き返されるのは当然でしょ。
用途もなにも前提なしで「いい言語あるの?」と聞き返すのは
そりゃ莫迦にとっては当然かも知らんが。

714 名前:デフォルトの名無しさん [2008/10/07(火) 16:07:38 ]
>>713
だってC++は用途を問わず最高の言語だからね。
CGIを書くには最適ですっていう言語があったとしても代替にはならないでしょ。
そう思わない?

715 名前:デフォルトの名無しさん [2008/10/07(火) 16:12:56 ]
換言すれば、C++で出来ることは全てカバーしていなければ代替にならない。

で、もっといい言語あるの?

716 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 16:14:30 ]
釣りもいいけどageないで欲しいな



717 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 17:01:55 ]
>>694
突っ走るって、現実に&&や||を定義するやついるのか?Boost.Lambdaくらいしか知らないが。
.や.*と同じようにこれも禁止しなかったのは間違いだと俺も思うが。

>>705
C#のture/false演算子はC++の&& ||よりましだと思う。

718 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 17:35:54 ]
禁止するよりも力尽くでも本物と同じ動きに出来るようにするべきだった。

719 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 17:45:32 ]
ageている奴は発言が面白すぎるので愉快犯と見た

&&はテンプレートの中で型が確定できない状況で使ったらセマンティクスが
全く不明になってしまうね
それはショートサーキット評価されるのだろうか、されないのだろうか?

720 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:09:15 ]
>>701
言いたいことは判るけどさ、それで問題が起こるようなケースってのは
コピーやキャストされてしまうような時だけであって、そうなるかもしれないってのが頭にあるなら
できる限り避けましょうと、参照にしたりすればよく、逆に高速化が必要ならオーバーロードしたりテンプレート化したりして個別対応すればいい訳。
実用上の障害は何一つないのに問題視するのは、それ自体問題だ。

721 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:14:02 ]
>>719
テンプレートはコンパイル時に型が特定されるので、問題はないのでは?
動的なテンプレートを実装したりすると問題が起こると思うけどC++はそうではないし。

722 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:17:41 ]
>>721
勿論テンプレートを実体化するときには確定するな
が、テンプレートは静的ダックタイピングの手段だから、
関数テンプレートを記述する際には型に関する仮定はおけんだろ?
で、&&はどうすりゃいいんだろうな
&&が腐ってるんなら、仕方なくVBみたいにifのネストを使うか?

723 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:20:36 ]
C++最大の問題はプリプロセッサと旧態依然のコンパイル・リンクだろうな、あれの存在のお陰で
自動テストは作れない作ってもショボイ、インテリセンスも作れない作ってもバカの極み
自動リファクタリングに至ってはもはや絶望的、しかもコンパイルもリンクも超低速という点。

724 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:35:14 ]
>>722
それが問題になるような事態に直面した事はないが、仮に直面してどうしても困るなら
type_traits でも使えばよいのではと俺なんかは思ってしまいます。

725 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:41:57 ]
>>724
議論ずれてきてるな
こんな風にすればカバーできるよ!ってのどんどん突き進めたのが
TMPなりboostなりだろ

いやそれはあんたはそれでいいのかもしれねーけどよ
大したことやってるわけでもねーのに、あの糞ったれなバッドノウハウ集
全部押し付けんのか?プログラマに

&&の問題なんて、禿の設計誤りさえなければそもそもそんなことを
考える必要すらないんだぜ

726 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:43:26 ]
>>725
それ以前に困った事態ってのはどんな事態なんだよ、俺はそっちの方が気になる。



727 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:46:53 ]
>>726
俺は困ってねえよ
ユーザ定義&&なんてつかわねえからな
自分では

が、テンプレート関数の中の&&は、一種の時限爆弾のようなもんだろ
誰かがユーザ定義&&を用いたら、それはコンパイルエラーにはならず
不可解な実行時の問題を引き起こす、かもしれない
そして、それはすぐには気づかれない、かもしれないわけだ

728 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:50:27 ]
それが心配でたまらないなら、ある種病気だよ

729 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:53:03 ]
実際、「C++の仕様で爆弾発生率が高い」ってのがソースなさすぎだからなw

730 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:54:32 ]
流石にそれはないよw
ただ、俺はそういう問題を知るためにまたしても*無駄な*コストを払わされたがな

みんな麻痺してんじゃねえのか?
C++の要求するあまりの学習コストの高さとバッドノウハウの多さに
確かにこんなのは氷山の一角ですらねえよ
もともとが糞の山過ぎてな


731 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:57:11 ]
危険だと分かっているものであれば自然、用心深く取り扱われるので、思ったほど事故は起こらないもの。
面倒臭いだけだから何とかしろとは思うが、それらの問題点に突っ込み入れても問題は出てこないだろうね。
C++逝ってよし派ではあるんですが、重箱の隅をつつくような問題点指摘には賛成できない。

732 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:57:54 ]
お金もらえるならなんでも書くよ

733 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 19:08:41 ]
>>727
まあ、もしそういうことが起こったら、&&を定義したユーザの方が悪いだろということにされるな。
やっぱりなんでこんなの定義できるようにしたんだって話ではあるが。

734 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 19:15:29 ]
ヘッダファイルに
static int int_data;
#define x int_data
などと比べれば&&など些細な問題さ


735 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 20:21:24 ]
&&と||は避けようと思えば避けられた問題だもん
演算子はとにかく全部オーバーロードできるというわかりやすい規則を優先して
その中には危険な演算子もありますよという話ならまだわかる
でもそうじゃないじゃん
例えば&&と同じく副作用完了点を持つ?:はオーバーロードできない
::は出来ないし.も.*も出来ない、sizeofもtypeidもthrowも出来ない
どれも問題あるからわざと出来ないようにしてるんだ
どうしてこのリストの中に&&と||を加えることが出来なかったんだ?
つーか?:を出来なくした時に気付けよ禿

736 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 20:42:31 ]
えんざんしちげーだろ



737 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 20:44:22 ]
そんなに気になるなら、&&セーフとか&&FREEのシールでも貼っとけ。

738 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 20:51:51 ]
>>729
>実際、「C++の仕様で爆弾発生率が高い」ってのがソースなさすぎだからなw
EffectiveC++等々の存在は十分爆弾発生率の高さを証明してると思うが・・

739 名前:デフォルトの名無しさん [2008/10/07(火) 21:00:38 ]
EffectiveJavaもあって、初級者用じゃないけどJavaプログラマの中ではかなりの必読の部類に入るよ。

740 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 21:16:14 ]
組み込み系の経験ないんですが、C++使用の場合って
コーディング規約とかで縛ったりするものなんでしょうか?

741 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 21:18:14 ]
もう一つ問題がある演算子があって、それはカンマ演算子
&&や||などと同じく、やはり副作用完了点として働く演算子の一つだ
普通は逐次実行されるので、左辺も右辺もどのみち評価されるから気にすることは少ないが
左辺が例外投げるような場合はやはり同じような問題が起こる

さて、なぜoperator,は定義できてしまうのか?偉大なるBjarne大先生の答えはこうだ

>operator,をオーバーロードできるようにしたのは、そうしてはいけない理由がなかったからだ。
(C++信者の聖典、D&Eより引用)

これはひどいwwwwwwwww

742 名前:デフォルトの名無しさん [2008/10/07(火) 21:19:58 ]
ある分野では operator , が実用上離せない

743 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 21:25:34 ]
>>739
それ関係なくね?

744 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 21:31:32 ]
>>741
なんつうかおじいちゃんはもっといたわって隠居させるべきだと
思ってしまうな

745 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 22:05:12 ]
いけなかったというより、::や.のような制約がなかったからと言うべきのような……。

746 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 23:54:42 ]
>>727
核戦争の心配してるほうがお似合い
そっちのほうが被害は甚大だし現実にあり得る



747 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 00:11:43 ]
結局、使いこなせない人が「この要素が悪いんだボクが悪いんじゃないやい」
って言い訳しつつ、使いこなせる人をデタラメに煽って射精するスレってことでおk?

748 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 00:21:39 ]
operator&&なんて使いこなしちゃいけない機能です

749 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 00:25:31 ]
問題点を指摘されて、それがありえる・ありえないって話にすり替えるのは違うんじゃないか
問題はあるけど回避可能だからC++を使おうって判断はそれぞれの職場でやればいい
だけどココで問題を指摘されてるのに、自分にとってありえないから問題じゃないってのはお話にならないよ

750 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 00:33:41 ]
>>747
また同じ煽りパターンか
ぼくちんのC++に文句いうやつらは全員C++理解できないに違いない!
C++も禿もぼくちんも天才!欠点なんかあるわけない!
これで満足?

751 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 00:36:09 ]
何でもルールのせいにするのはゆとりだろう。

752 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 00:40:30 ]
C++ しか知らなければ、C++ を過大評価したくもなるんじゃないかな。
2ch で主張してる分には見掛け上はノーリスクだし。

753 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 00:54:36 ]
747みたいに突然流れ無視して
「アンチはC++使いこなせないんだ!」って暴れ出す厨が定期的に出てくるよな
正直、どっちサイドからみても邪魔な基地外なんだがw

754 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:02:39 ]
テンプレートメタプログラミング禁止とか多重継承禁止とか
実際に実行出来てる例はあるのかな。ベターCとして使う事を
考えるなら当たり前に出来て欲しいんだけど、どうも揉めそうだ。
他にも例外禁止とか名前空間禁止とか演算子のオーバーロード
禁止とか、Boost禁止とか、RTTI禁止とか。

755 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:15:19 ]
>>750
君って低学歴でしょ?

756 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:31:45 ]
>>754
禁止する理由を納得のいくように説明すれば揉めないんじゃない。



757 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:49:11 ]
>>749
&&なんてC++使っているほうからしたら、誰も使わないだろjkって話なんだが、
外から見たら、ようするにバッドノウハウなんだよな。
そこに温度差というか埋まらない溝を感じた。

758 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:55:05 ]
>>754
うちは揉めないけど、やっぱりみんな言語仕様通しの関連が分かってないね
まあ新人はいまどきCなんて嫌だろうし、
ちゃんと理解して使うならC++でもいいよーって許可するんだけどね
ミスらなかった子はひとりもいない、ベテランでもミスる
もちろん仕事だからフォローはするよ

759 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:55:58 ]
誰も使わないし誰も使っちゃいけない機能が何であるんだよという素朴な疑問があるだけです
まあ設計者が大した考えもなしに使えるようにしちゃってるだけだけど

760 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 02:09:42 ]
>>741
カンマの左辺で例外が起きたときの問題ってどんなの?

761 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 02:14:53 ]
>>760
ただの関数呼び出しでは評価順序は決まっていないから、
a, bでoperator ,関数が呼び出されるときには、
b, aの順で評価されても構わないということになるはず。

762 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 02:22:18 ]
>>749
なら誰にとってありえるの?
使いこなせないくせに演算子オーバーロード機能使って、しかも&&演算子を…
っていう人間を仮定してみるとあちこち矛盾が生じるのだけれど
使いこなせるのに…もまた然り

763 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 02:59:50 ]
>>762
え?釣りなの?本当に理解できてないの?

764 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 03:12:41 ]
いいかい
問題がある・ないってのは客観なんだ
問題がありうる・ありえないってのは主観なんだ
客観に対して主観で反論したら議論にならないだろう?
これはC++とか関係ない当たり前のことだよ

765 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 03:21:30 ]
>>762
釣りじゃないなら一晩おいて、もう一度よく読み返してみな?
大丈夫、C++の問題点よりずっとずっと簡単な話だよ

766 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 03:56:33 ]
Javaだと回避不能なウンコ仕様が多くて困るけど
(例えばしょうもないことで例外が飛んでくるとかthrowsとか)
C++のウンコは知ってれば回避可能なウンコが多い気がするな

まあ確かにC++にはウンコ満載な気はするけど
知ってしまえばどうということはないので
慣れればあまりフラストレーションが溜まらない、というのが俺の実感

&& || , のオーバーロードの話だって
More Effective C++ に「やるな」と書いてあって、
簡単に納得できるレベルの話だしねえ



767 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 04:07:11 ]
いやいや、中にはそもそもできないようにしろよって主張も上の方にあっただろ。
俺もそう書いた1人だよ。

768 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 04:15:20 ]
>>766
>>764に書かれてる事なんですぐ繰り返すの?ねえ?なんで?ばかなの?しぬの?

769 名前:デフォルトの名無しさん [2008/10/08(水) 04:35:23 ]
CGIしか作れないようにしたらC++の意味ないよな。
ウケルw

770 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 08:59:01 ]
包丁は販売禁止ですね
わかります

771 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 09:47:29 ]
いや、別に包丁は売ってもいいし、包丁で人が切れてもいいけど、

包丁を使ったと思ったら菜箸だった(ポルナレフAAry

となるのがC++の凄いところ

772 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 09:55:57 ]
>>770
両刃の包丁を買ってきたと思ったら、背側にも刃がある両刃でした

773 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 10:52:24 ]
>>766
> Javaだと回避不能なウンコ仕様が多くて困るけど
> (例えばしょうもないことで例外が飛んでくるとかthrowsとか)

これはウケた

以下のコードはf()は何もthrowしない、と例外仕様で言っているが、
f() throw() { throw 1; }
これをあんたのコンパイラがどう扱うか確認してみればいい

C++では文字列も整数もクラスも
ポインタも参照も、何でもthrowできる
例えばMFCとVC++のCOMサポート、C++標準ライブラリのようなものは
当然のように全く異なる流儀で例外を扱っている
それらを全て捕まえたければ catch (...) を使うしかないが、
これでは何が飛んできたか分からないから、事実上何の役にも立たない
勿論スタックトレースの取得などできるわけもない

C++はJavaの例外を馬鹿にできる立場には一切無いよ

774 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 11:25:14 ]
>>769
operator &&や||をなくしただけで
CGIしか作れなくなるのか

すげえ言語だな

775 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 12:44:13 ]
|| のオーバーロードは昔からあるんだから現実にこの世の中で問題が起きたことを
確認してから批判してくれ。
どうせ || のオーバーロードができなければできないで批判されるだろうから。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<163KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef