【信者】C++の問題点【アンチ】

■ このスレッドは過去ログ倉庫に格納されています
2008/10/10(金) 09:13:53
C++の問題点について語るスレです

C++ってなんであんなに肥大化しちゃったの?
http://pc11.2ch.net/test/read.cgi/tech/1219902495/
2008/10/29(水) 14:05:16
>>172
ああ、いいたいことは分かった
alloca()っぽいことが出来るんだね

alloca()の代用にしかなってないけど
2008/10/29(水) 14:09:13
コンストラクタやデストラクタが動くんだからalloca()の代用は言いすぎか

まあ、そういうことが言いたいんじゃなくて、newが使われるシナリオの
ごくごく一部しかカバーできていないだろ、といいたいんだよ
2008/10/29(水) 14:41:56
>>174
newが使われる際の問題って他にあるの?
2008/10/29(水) 16:21:08
>>167
そんなことするならset_new_handlerとvector(もしくはboost::scoped_array)で十分だと思う。
2008/10/29(水) 16:50:22
>>176
newが例外をスローしないようにするのなら
vectorなんて使えないんじゃないのか

new_handlerの中でabort()でも呼ぶのならいいだろうけど、もっと悪いような
2008/10/29(水) 17:37:38
>>177
> new_handlerの中でabort()でも呼ぶのなら
そういう仮定。だって>>167ではexitだったからこそ。
2008/10/29(水) 18:06:25
そういうことか。よく見てなかった。
つうかabort()だのexit()だの呼んでる時点でダメだろ
2008/10/29(水) 19:09:35
俺の探し方が悪いのか、abort()だのexit()だの呼んでる以外のサンプルコードを見た事がない
2008/10/29(水) 19:13:25
ま、new handlerでできることはそれぐらいだろ
つまり、new handlerは、「それでいい」プログラムにしか使えないってことだよ
2008/10/29(水) 19:39:56
予めでっかいメモリを確保→newハンドラで解放すれば、
ヒープに空きができてnewを成功させられるぜっていう話を聞いたことがある。
実用性皆無にしか思えない。
2008/10/30(木) 01:39:17
new handler で必ずしも必要でないキャッシュをパージすることが考えられる。
Java の SoftReference がそんな感じ。
2008/10/30(木) 09:41:16
bad_allocが発生する様な環境下で、必要のないキャッシュを持つ設計が正しいのだろうか?
185デフォルトの名無しさん
垢版 |
2008/10/30(木) 10:01:22
あっちと内容がかぶってる
C++が糞言語なのはみんな知ってるから一箇所でやってくれないかな
2008/10/30(木) 13:05:43
どこ?
2008/11/02(日) 04:11:41
>>172
C++ってそんな事も出来ないのかw
2008/11/02(日) 07:33:07
配列ごときをいちいち動的にヒープに取るような非効率言語とは違うんですっ!
2008/11/02(日) 08:49:23
>>187
Cにも出来ないけどな
2008/11/02(日) 11:53:20
>>189
Cは低級言語だから別にいいんだよw
2008/11/02(日) 12:23:05
>>190
'C++'の'C'部分に独自の拡張を加えちゃ駄目じゃん
2008/11/02(日) 12:37:38
C言語は高級言語だろ・・・
抽象化水準が低いから中級言語って言う奴はいたけど。
2008/11/02(日) 12:54:55
>>189
C99なら嘆かわしいことに出来てしまう

まあ、あんなものC言語じゃないけどな
2008/11/03(月) 19:11:25
演算子のオーバーロードはヤバイと
ム半年目の頃に既に俺は思ってたね
関数の引数が参照渡しなのもヤバイ
2008/11/03(月) 21:30:24
演算子多重定義関数での引数と言えば、const参照が相場だろ。
2行目が値渡しでないからやばいと言っているのであればそれは違う。
2008/11/03(月) 22:35:07
const参照渡しが安全だと思ってるアホ発見
2008/11/04(火) 00:23:34
Cに++した程度の言語だ
やばくて当たり前だっての

オブジェクト指向アセンブラに何処まで求めてるんだ?
2008/11/04(火) 00:39:19
本当に C に ++ してくれたのなら、どんなに良かった事か…
本当の意味で C with Class だったら更に良かったんだがな

残念言語
2008/11/04(火) 02:52:09
>>192
お前その発言がどんだけ化石か自覚してるのか?
2008/11/04(火) 09:33:16
C++の++は良く分からん物でオーバーロードされてるだろ
2008/11/05(水) 18:03:54
もしかしたら実際の処理は--かもしれない
2008/11/05(水) 18:33:56
そしてC++の仕様上、それを知る事は不可能に近い
2008/11/06(木) 16:48:48
>194-196のやりとりがよくわかりません。
演算子定義をconst参照で受けて、さらに注意しなければいけないことって何?
2008/11/06(木) 18:08:29
多分、>>196 にしか解らない深い理由があるんだろう。
2008/11/06(木) 19:33:21
const_cast
2008/11/06(木) 20:24:16
それくらいでびくついているようではC++なんて使えないけどな。
全くもってそこらじゅう罠だらけだもん。
2008/11/06(木) 21:22:36
・constなんてconst_castや普通のキャストで誰でも簡単に外せる
・constを外さなくたってmutableメンバがあれば変更し放題
・deleteに対してconstは全く無力

何かを安全にするつもりでconstを使ってるなら、それは時間の無駄です
constは何も守ってくれません
2008/11/06(木) 21:45:34
const_cast は使うこと自体が有害だと思われ
2008/11/06(木) 21:46:39
気休めにしかならないと分かっていても、すがりたくなる。
ほかに信じられるものなんて何もないから。
2008/11/06(木) 21:51:57
setの要素を変更する時にconst_castは不可欠です
2008/11/06(木) 21:58:17
あれってconst付いていたっけ?
2008/11/06(木) 22:04:48
setの要素を直接変更したらまともに動作しないぞ
removeしてからinsertしないと
2008/11/07(金) 02:46:00
EffectiveSTLの22番だな
2008/11/07(金) 03:43:36
比較関数が見ないメンバであれば問題ない。
2008/11/07(金) 09:35:55
const_castなんてC++の問題ではなく、C++を利用するプログラマの問題だろ
216204
垢版 |
2008/11/07(金) 12:14:46
>>207
やっぱりそういう話か。下らん。
2008/11/07(金) 16:23:46
で、外注先のプログラマに問題が無い事は誰が保障してくれるんだ?
言語側で保障してりゃ良いだけの事を、本当に非効率的な言語(笑)だわ。
2008/11/07(金) 17:01:39
問題のあるプログラマを雇っている外注なんぞ切ってしまえ
2008/11/07(金) 17:05:50
また始まった
ぼくはそんなつかいかたしないからC++はわるくないんだい!!

なんか本気で言ってそうでかわいそうになる
2008/11/07(金) 17:29:08
何のためにconst_castがあるのかも考えず、不用意に使うような奴を擁護する事の方が信じられん
きっと、大阪の轢き逃げみたいな事件を起こすような奴に違いない
2008/11/07(金) 17:53:25
はいはい、今度は論点のすり替えですね
フルコースですか
次のメニューをお願いします
2008/11/07(金) 17:54:41
レッテル張りも消化済みでしたね
引き続きどうぞ
2008/11/07(金) 18:12:17
そもそも、言語側で保障する方が非効率だから、保障しなかったのにね
2008/11/07(金) 20:36:53
const_castはどう考えても内容を変更しないのになぜか非定数を要求するAPIのためのもの。

Motifやってた頃はお世話になりました。
2008/11/07(金) 20:59:11
const版・非const版で多重定義するときにも使える。
const char* strchr(const char* s, int c);
inline char* strchr(char* s, int c)
{
const char* t = s;
return const_cast<char*>(strchr(t, c));
}
Cのstrchrより型安全性が増しているという不思議。もっともCとの互換性は無くなったが。
2008/11/07(金) 23:36:09
アホな事する奴がconst_castなんて律儀に書くわけないという
2008/11/07(金) 23:42:36
そういうアホは自分に影響が無い程度に放っておけばいいんです。
2008/11/08(土) 18:01:46
どうしてSTLってstd::の中に全部ぶち込んでるの?
整理とか出来ない人が作ったの?
2008/11/08(土) 18:40:10
とりあえず、グローバルに全部散らばっているよりは遥かにましです。
2008/11/08(土) 19:11:13
STLは十分整理されているからそれで困ったことはないよ。
名前空間はいろんな人たちが集まって何かを作るときの応急処置ぐらいに思っておいた方がいいよ。
boostは移行中or統合中とかがあって、一応名前空間で区別してるけど
using使い出すともうカオスになるよね。
2008/11/08(土) 22:32:08
>>228
あなたならどう整理する?
2008/11/08(土) 23:17:56
.NETみたいに
2008/11/09(日) 02:10:38
名前空間も罠の塊だからあんまり多いと困る
2008/11/09(日) 16:31:19
>>233
using namespaceとか使うから罠に嵌るんじゃないのか?
2008/11/09(日) 17:00:09
そんなもん使わなくったって落とし穴はいくらでもあるよ
C++にはKoenig Lookupという素敵な仕組みがあるから
2008/11/10(月) 08:50:37
signed と unsigned の比較くらいできるようにしてくれっつーの!
ヽ(`Д´)ノ
2008/11/10(月) 12:49:34
signed廃止しようぜ
負の数なんてなくても平気
2008/11/10(月) 14:23:58
>>226
そういう奴はふつー、Cスタイルのキャスト (万能) 使うよなあ。
2008/11/10(月) 23:39:57
>>237
そしてsigned_intクラスを作るんでしょ。
2008/11/11(火) 03:31:15
暗黙の変換がなくなるだけでも上等。
2008/11/11(火) 10:36:41
分の悪い取引だな
2008/11/24(月) 12:51:07
enumの仕様をC#と同じに変えてほしいな
2008/11/24(月) 17:07:17
>>242 次の改訂で入る enum class でいいか?
http://en.wikipedia.org/wiki/C%2B%2B0x#Strongly_typed_enumerations
2008/11/24(月) 20:46:57
いやもう改訂とかどうでもいいです
9割の案件でC#使ってるんで
2008/11/25(火) 03:33:56
もう来るなよ。
2008/11/25(火) 06:30:45
問題はその1割のC++案件がストレスの9割を占めている点なんだが
ほんと、さっさと消えろよゴミ言語が
2008/11/26(水) 08:50:02
>>243
それがあればよさそうだ
改訂版が待ち遠しいぜ
2008/11/26(水) 13:42:58
規格発行が 2010 だから、すでに先行して実装が進んでることから考えて
まともな処理系が使えるようになるのが 2012 ぐらいかな?そこから一般の仕事で
使えるぐらいに日本で普及するのが 2015 ぐらいじゃね?
2008/11/26(水) 17:38:36
6年後か
さすがにC++終わってそうだなw
今C++で張り切ってる中年組は全部リストラ済みだろうし
2008/11/26(水) 18:15:03
JavaとC#に支配された世界もゾッとしないけどなー

その頃Dは7.0くらいになってるんだろうか
2008/11/26(水) 18:25:14
ネイティブコードを吐き出せるいかした言語がでるまで、C/C++は終わらねぇだろ
どうやって、JavaやC#を実装するつもりだよ
2008/11/26(水) 18:37:49
いや、Cは残るだろ
アホか
2008/11/26(水) 18:40:28
念のため>>252>>251宛てな
聳え立つ糞の塊のC++とCを一緒にすんなカス
2008/11/26(水) 18:53:23
「C/C++」
こんな書き方発明した糞野郎は誰なんだろうな全く
2008/11/26(水) 20:03:57
Cが残って、C++が残らないって、意味が分からんw
2008/11/26(水) 21:06:52
            ∩_ 
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ こいつ最高にアホ
 彡、   |∪|  /
/ __  ヽノ /
(___)   /
2008/11/27(木) 01:11:31
managed C++より、unmanaged C#を作ってほしい。
2008/11/28(金) 01:18:19
最近の動向を見てるとC++が残らなくても驚かない。
CはUNIXカーネルの大半がCで書かれている限り残る。
2008/11/28(金) 19:48:02
Objective-C は Mac が方針を変えない限りは残る。
2008/11/29(土) 23:15:08
>>259
s/Mac/Apple/gな。今やiPhoneにも使用されている言語だ。
2008/11/30(日) 02:40:49
態々置換文書くって何なの?日本語不自由なの?
2008/11/30(日) 03:12:42
>>261
流行ってるから言ってみたのか?
2008/11/30(日) 03:26:09
>>262
は?
2008/11/30(日) 03:32:58
>>261
>>262 が答えらしいよ。
2008/11/30(日) 03:37:44
アンカミスですか
2008/12/01(月) 00:30:12
〜って何なの?死ぬの?
2008/12/06(土) 03:41:30
ケンカはやめて(><)
2008/12/06(土) 15:05:29
二人をとめて〜
2008/12/09(火) 12:54:55
河合奈保子出てくるとか、どんだけ歳y(ry
270デフォルトの名無しさん
垢版 |
2008/12/10(水) 17:27:31
仕事ではわけわからなくなるのでboostは使っていない。標準が一番だ。
2008/12/10(水) 17:52:31
つまりC++には実用性のあるライブラリが一つも無い
一体何十年使われ続けてこのザマだよ
2008/12/10(水) 17:55:23
C++の問題点

  R u b y で は な い こ と

わかったかクズどもw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況