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


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

【肥大化】C++ を見捨てたヤシ【複雑化】



1 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 09:52:47 ]
文法面での機能拡張しすぎ。
C++の構文解析とか、もうワケワカメ。
マイクロソフト拡張大杉。
gcnew とか使うぐらいなら素直に Java でも C# でもつかえ!!!



520 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 17:19:20 ]
>>518

>>515

521 名前:デフォルトの名無しさん [2008/05/01(木) 17:21:38 ]
>>519
> xxx_dispose()
これでは語順がおかしいだろう。
人に意見するなら最低限の知識を仕入れてこい。
最低限、Ubuntuくらい使いこなせないと話にならない。

522 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 17:30:39 ]
>>521
昔のCはクラスや名前空間がないから
そういう風に表すのが一般的「だろう」と
まあ想像なんだけどねぇ。

例えば、タイマのサービスなら
timer_initialize()
timer_get()
timer_dispose()
とか。

あんたさぁ本当にCプログラマ?

523 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 17:34:42 ]
>>522
スレたいよめ。
知ったか無用。

524 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 17:50:04 ]
C++規格策定時からあるものでwindowsとか関係ねーし

525 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 18:09:17 ]
atexit はデストラクタ的だ

526 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 18:46:29 ]
>>518
あんたの脳内では「デストラクタは無いほうが良い」が不動の真理であるようだが
みんな「そんなことないんじゃない?」って思ってるんだから
まずはなぜ「デストラクタは無いほうが良い」のかを説明してくれないか。

527 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 18:49:26 ]
『僕はデストラクタが無いと文字列操作も出来ないです』
『asprintf() を知らないので、C は怖くて使えません』

↑これに該当しない人はこのスレにはいないみたいだな…

528 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 18:51:57 ]
むしろGC無いと組む気がしない



529 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:07:28 ]
例外あってデストラクタ無いとコードが膨れ上がっちゃうな。

530 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:10:20 ]
>>518 >>527
釣りはよそでやってくれないか。

531 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:15:59 ]
釣りってことにしないと真っ直ぐ歩けないのかな

532 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:18:55 ]
何故釣り呼ばわりされるか、自覚無いだろうけど、
相当痛いこと言ってるんだよ、お前は。

533 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:28:13 ]
つまりデストラクタが無いと何も出来ないんだな
そこまで染まっちゃうと冷静な比較も無理だろう

534 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:31:18 ]
>>531
釣りってことにしないと、ホントの本気で馬鹿にするしかなくなるからでは?

535 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:38:50 ]
デストラクタ君もデストラクタが無いなんて有り得ないの一点張りでしょ。
もともとまともな会話が始まる余地が無い。

536 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:43:14 ]
釣りとかネタとか言う前に地の議論がお寒い。

537 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:49:48 ]
>>536
全体を等しく腐してドロー狙いですか?w

538 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:54:22 ]
いや、あんたの所まで落ちるつもりは無いよ。



539 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:55:45 ]
盛り下がってまいりました

540 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:57:19 ]
最早 C++ とは関係が無いな

541 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:57:54 ]
釣りではなく本気だとしたら、哀れすぎて手が出せない。


542 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 19:59:38 ]
>>536
機能についての雑談は良いんじゃね?スレタイ的に。

>>537
しょうがないから真面目に相手するよ。
まずRAIIについて軽くググってくれ。
とりあえずそれが代表的なデストラクタの利点だ。

不要と思う理由を頼むよ。
OSは関係無いからね。

それと、ここのスレタイ見て来たC++ユーザーに、
>>527に該当する奴はまず居ないだろう。
初心者スレとかには、そういうのも居るだろうけどね。

543 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:02:40 ]
>>538
お寒い返し乙。

残念だったね一人負けでw

544 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:03:46 ]
javaやC#も採用したってことは必要なんでしょ。

545 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:10:23 ]
C++ がもう少しまともな言語だったら良かったのにとつくづく思うよ。

546 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:11:17 ]
javaとc#にデストラクタは無いよ。
ファイナライズは事実上別物。
ただし、そこを補完するため、

javaはtry-finally、c#はusingが用意されてる。

547 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:14:23 ]
>>545
具体的に書こうぜ。
ただ「駄目」とだけ書くのは誰でも出来る。

548 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:26:23 ]
>>545
誰かが(いずれかの言語が)やってみなきゃならなかったことを
やる役だっただけさ。



549 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:02:21 ]
>そこを補完するため、

足りなかったんですね。

550 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:02:48 ]
>>546
なんで無用なものに対して「補完」する必要があるの?
無用なら全く無くしちゃってもいいじゃん。

551 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:10:53 ]
>>549
はい、足りなかったんです。
GCでメモリは回収出来ますが、リソースは無理でした。

>>550
え?なんで無用なの?
ファイルとか閉じれないとヤバいでしょ?

552 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:13:23 ]
>>546の途中の改行はミスだから気にしないでね。
文は繋がってるよ。

553 名前:デフォルトの名無しさん [2008/05/01(木) 21:29:39 ]
だからWindowsが糞な実装だから必要になってるだけで、まともな実装では
必要ないだろが。
お前ちゃんとLinux使ってから発言しろよ。
Linuxも使えない雑魚が。

554 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:31:01 ]
>>524

MSC7.0/VC1.0発売は1992年で、結構早い時期に登場したC++コンパイラ、
C++がISO認証されたのはもっと後

555 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:36:17 ]
>>553
なぁ、>>515読んでもOSが関係無いってことが分からないか?

それとお前以外がLinux使えないって思い込んでるけど、それも間違い。

556 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:37:22 ]
BSD派だからペンギンは使え(わ)ない。

557 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:42:06 ]
コンストラクタとデストラクタでログ吐くモジュールとか
破棄時に遅延評価を行うプロキシクラスとか
デストラクタなしでどうすんの?

ファイナライザでやれ、つうのは名前変えてるだけで同じだね。

あ、もしかして
デストラクタ(ファイナライザ)の有用性は認めるが
そこに資源破棄の役割を持たせる必要は無い、という主張なのかな?
一考には価するかも。

558 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:42:14 ]
>>553
それと、まさか勘違いはしてないだろうけど、
こっちはデストラクタが無いとプログラム組めないとか
そういう主張はしてないからな。

ガベージコレクタ無くても組めるのと同様。



559 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:43:11 ]
OS関係ないだろ
寧ろ基幹鯖とかで致命的

560 名前:558 mailto:sage [2008/05/01(木) 21:43:44 ]
555=558

561 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:47:47 ]
mallocやnewで借りたものは
Win9xですら終了時にプロセス空間ごと更地になるわけで…
いつのwindowsの話かと

562 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:50:19 ]
結局デストラクタは無くても良いという事で全員の意見が一致したなw

563 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:51:58 ]
プロセス終了までリソースを解放しない人は誰ですか?

564 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:53:23 ]
しかし何でWindowsとLinuxを比べてるんだろうか

言語の違いで言うなら、GCのある言語ではデストラクタがほぼ空になるから
GCの無いC++を批判する気持ちは分かるんだが…

565 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:54:33 ]
反論出来なくなったら勝利宣言とは・・・。
釣りじゃなかったら、すごい哀れだな・・・。

566 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:57:53 ]
あれあれ、まだデストラクタが無いとプログラム組めない人が居たのかな?

567 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 21:59:51 ]
しおり
>>480-566

568 名前:デフォルトの名無しさん [2008/05/01(木) 22:00:15 ]
オブジェクト指向にデストラクタが本当に必要か考えてみるがいい。
Windows使ってると頭おかしくなるのか?
なんでここまで説明してやらないとわからないんだろう?



569 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:05:20 ]
オマエより頭が良くて偉い人が必要だと判断したからな

570 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:05:45 ]
for文て何のためにあるの?
while文で十分じゃん

571 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:07:11 ]
いや、末尾再帰の最適化があればそれで十分だ

572 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:08:03 ]
何故OSが関係無いことを理解出来ないのかが分からない・・・。

シックスセンスじゃないけど、
見たいレスしか見えないんだろうか。

573 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:09:38 ]
デストラクタといえばDのscope(…)文が羨ましい

574 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:11:11 ]
>>570
いやいや。Goto文かJump命令で事足りるぞ

575 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:13:28 ]
asmキーワードでイナフ。

576 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:13:33 ]
>>568
何も説明してないし。


577 名前:デフォルトの名無しさん [2008/05/01(木) 22:13:34 ]
>>572
だからLinuxなら全然問題なく完璧にできるっつってるだろ。
なんでわかんねんだ。
これだからM$信者は駄目なんだよ。

578 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:14:02 ]
>>504
それMFC固有のことで、Windowsは関係ない。



579 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:18:46 ]
UNIXでもLinuxでもWindowsでも、CやJavaで問題無くソフトウェアは作れるけど、
メモリリークしていい理由にも、C++にデストラクタが不要だという理由にもならない。

580 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:19:52 ]
>>577
mallocしたメモリやopenで得たファイルディスクプリタが
プロセス終了時にOSが解放したり閉じたりしてくれるということを言っているなら、
Linux/Unixプログラマだって、OSに任せないで
自分で呼んだりデストラクタに任せる奴は当たり前のように存在する。

581 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:21:11 ]
デストラクタをメモリ管理にだけ使っていて、
デストラクタを使わないとメモリリークが止まらない
プログラマが居るだけだお!

582 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:21:29 ]
>>577
mallocで10bytr確保したとしよう。どうやってそれを開放するのか教えてくれるかな。

583 名前:デフォルトの名無しさん [2008/05/01(木) 22:22:54 ]
>>582
そんなことも知らないのか。
M$信者は達者なの口だけだな。

584 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:27:23 ]
教えて!


585 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:28:39 ]
さつき先生!!

586 名前:デフォルトの名無しさん [2008/05/01(木) 22:28:52 ]
多分free()とかOSが解放してくれるとか言うんだろうな

587 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:36:44 ]
デストラクタ無しだと例外処理とかどうするんだ

588 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:37:01 ]
そこは『OOM Killer が根こそぎ回収する』だろ



589 名前:デフォルトの名無しさん [2008/05/01(木) 22:38:26 ]
お前らはカーネルのソース読むとこから始めたほうがいい。

590 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:38:58 ]
C に例外処理なんて無いし要らん

591 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:50:01 ]
110レスか…

592 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:52:35 ]
もう終わりか…

593 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:56:10 ]
結構皆頑張って説明したけど、全然話が通じなかったな。
久々に真性というものを見た・・・。

594 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:56:34 ]
まだやってんのかよ…

595 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 23:17:04 ]
まとめ。

>>482 降臨 「デストラクタなんて要らない」
>>491 「文字列如きでリークさせる奴なんかいない」
>>498 「Windowsがおかしい、Linuxでリークしたことない」
>>500 「むしろWindowsとの互換性のためにデストラクタがある」
>>518 「Windowsがへぼいからデストラクタが必要になるだけ」
    「Windowsを使ってはいけないという結論が出てる。」
>>527 C++ユーザーは皆、デストラクタが無いと文字列操作も出来ない
>>533 「デストラクタが無いと何も出来ないんだな」
>>553 「Windowsが糞な実装だから必要になってるだけ」
    「Linuxも使えない雑魚が。」
>>562 突如、勝利宣言
    「結局デストラクタは無くても良いという事で全員の意見が一致したなw」
>>566 「デストラクタが無いとプログラム組めない人が居たのかな?」
>>568 「オブジェクト指向にデストラクタが本当に必要か考えてみるがいい。」
    「Windows使ってると頭おかしくなるのか?」
    「なんでここまで説明してやらないとわからないんだろう?」
>>577 「だからLinuxなら全然問題なく完璧にできるっつってるだろ。」
    「これだからM$信者は駄目なんだよ。」
>>583 「そんなことも知らないのか。M$信者は達者なの口だけだな。」
>>589 「お前らはカーネルのソース読むとこから始めたほうがいい。」

IDが無いので完全な抽出は不可能でした。

596 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 23:18:04 ]
>>482氏の主張(想像)
 ・Windowsだとリークする
 ・Linuxだとリークしない
 ・プロセス終了時にOSが解放するから、解放は不要
 ※ 長時間稼動するソフトウェアについては返答無し

597 名前:482 mailto:sage [2008/05/01(木) 23:29:46 ]
一応言っておくが Linux 云々は俺じゃないぞ。茶々入れはしたが…
中身の無い煽り合いに熱を上げるのも楽しいかもしれんが、程々にね。

598 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 23:34:01 ]
ということは、Linux云々の人はデストラクタ関係無しに
「OSが解放するから、解放は不要」とだけ主張していたのだろうか。



599 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 23:34:42 ]
スルーされたレス
>>515
>>524
>>526
>>542
>>559
>>561
>>563
>>564
>>576
>>579
>>580
>>582-584

見当違いな返答が来たレス
>>519-521

600 名前:デフォルトの名無しさん [2008/05/01(木) 23:39:15 ]
そのスルー力は見習うべき・・・でもないなw

601 名前:デフォルトの名無しさん [2008/05/02(金) 00:42:15 ]
取り敢えず>>482が、オブジェクト指向と、C++を理解してないのは判った
ついでに、RubyかJAVAを判ったつもりでいることも判った


602 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:53:03 ]
彼と一緒に仕事するわけでもないんだしほっとけよ。

603 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:15:00 ]
鯖毎(同じ鯖なら同じID)じゃなくてスレ毎でもいいからID欲しいな・・・。
騙り・自演防止とかじゃなくて、単純に議論or雑談での識別子として。

どのレスが同じ人のか分からないと、相手の考えも読み取り辛い。

604 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:33:52 ]
例外がからんでくると RAII のイディオムなしで
(エラー処理込みの)正しいプログラムを書くのは
現実的にほとんど無理

あとこんな馬鹿のせいでLinuxが悪く思われるのは悲しいなあと思った


605 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 02:14:34 ]
大丈夫だ
彼が馬鹿だからと言ってUNIX系が悪いなんて誰も思っちゃいない

606 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 02:54:20 ]
C++の話がなんでOSの話になるんだろうか。


607 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 03:37:55 ]
まぁ各種リソースに関しては
言語で組んでる側でポカやっても確実に対処してほしいところではあるな。

608 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 05:15:48 ]
凄腕の釣り氏だったようだな



609 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 07:13:37 ]
何だこの伸びは?
Windowsもプロセスの終了時にリソースは開放されるよ。
ハンドルリストにあるのがそのプロセスしか使用してなければ、
ハンドルの対象のリソースは開放される。

610 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 09:40:13 ]
3.1とか想定してるんじゃないの?

611 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:06:38 ]
プロセス終了では、プロセス内で立てた別スレッドは解放されなかったような。
スレッドが握ってるリソースも解放されない。

612 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:10:02 ]
プロセスを終了したら、そのプロセスはなくなるのに、どうやってプロセス内のスレッドが生き延びるっていうんだ

613 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:16:51 ]
>>611
スレッドは即死するからデストラクタは呼ばれない。でもシステムのリソースは開放される

614 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:17:12 ]
もしかして彼は
コンストラクタ・デストラクタは使わず
ぜんぶ子プロセスを作ってOSに資源管理させろという主張だったのでは…

615 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 12:20:18 ]
>>614
そして、書き込んだファイルの後ろが切れるOSは糞って切れるわけだ。

616 名前:482 mailto:sage [2008/05/02(金) 13:59:46 ]
>>601
釣りなのかもしれんがw 俺じゃねえっつの。
妄想人格作り上げて悦に入るなよ…

617 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:01:09 ]
もはやスレ全体がネタと化しているな。

618 名前:482 mailto:sage [2008/05/02(金) 14:06:06 ]
C++ が欠陥の多い言語なのは議論の余地が無いからな。
昔は C++ が唯一無二の最高言語だと主張する奴も多かったが、
そういう輩は既に絶滅して久しいし、C++ の駄目駄目っぷりを
ネタとして楽しめる土壌が出来て来たんだろう。



619 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:13:47 ]
とりあえず>>526に返答してあげたらいいんじゃないかな

620 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:16:16 ]
>昔は C++ が唯一無二の最高言語だと主張する奴も多かったが、

なことない。

最近の携帯OSが出るまでC++不毛の時代だった。

ブビ厨と最近のM$のダメっぷりに呆れたのと、
独自基板対応のためにC++が再度注目された。






[ 続きを読む ] / [ 携帯版 ]

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

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