- 1 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 09:52:47 ]
- 文法面での機能拡張しすぎ。
C++の構文解析とか、もうワケワカメ。 マイクロソフト拡張大杉。 gcnew とか使うぐらいなら素直に Java でも C# でもつかえ!!!
- 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++が再度注目された。
- 621 名前:482 mailto:sage [2008/05/02(金) 14:24:32 ]
- >>619
518 は俺じゃないよ。 無闇矢鱈とレスを欲しがるのもどうかと思うよ。 スルーされると寂しいのかもしれんが、俺は関係無いし。
- 622 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:36:19 ]
- C++の優位性はtemplateだけだからなぁ
他高級言語でtemplate並みのメタプログラミングが出来るなら C++を使う理由はなくなるな。 ネイティブコード吐ける云々はどうでもいいことだしな。
- 623 名前:482 mailto:sage [2008/05/02(金) 14:37:38 ]
- つ Common Lisp / Scheme
- 624 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:38:24 ]
- >>622
「俺にとっては」と付け加えといてくれ。
- 625 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:38:51 ]
- >>621
518じゃないのは前のレスで分かってる >>482宛だと思って答えてくれ
- 626 名前:482 mailto:sage [2008/05/02(金) 14:40:43 ]
- それじゃ文脈がおかしいだろ。聞きたい事があるならきちんと聞け。
- 627 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:46:05 ]
- >>626
なぜ「デストラクタなんて要らない」のかを説明してくれないか。
- 628 名前:482 mailto:sage [2008/05/02(金) 14:55:04 ]
- >>627
簡単な話。 Cではデストラクタが無くてもみんなプログラムを組んでるから。 それとも、 『デストラクタが無いCはまともに使う気しない』人が可哀想だね。 『デストラクタが無いとプログラム出来ません』なんて恥ずかしいよ。 つう感じでガソリンを補給して欲しいのか?
- 629 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:10:03 ]
- それは「無くてもなんとかなる」
だけで、「要らない」理由にはならない。 自動車、飛行機、原子力、etc
- 630 名前:482 mailto:sage [2008/05/02(金) 15:14:27 ]
- 何だよ。言葉遊びか?
下らん。
- 631 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:20:23 ]
- ここはニュースグループか
- 632 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:25:22 ]
- >>628
>>529 >>587 >>604の通りでCには要らなくてもC++には必要。 で、>>590と答える? だとすると「デストラクタは要らない」じゃなくて、 クラス、例外、テンプレートなどのC++の機能が要らないってことでは? それは単に「俺はC言語で十分」ってことだと思うんだけど。 違う?
- 633 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:28:19 ]
- >>631
反論の余地がなくなると国語辞典持ち出して単語の粗探しするんだよなw
- 634 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:31:27 ]
- ノイマン型コンピュータのプログラムを組むのに
Cを超える高級言語は不要ってこと? んー以外に支持受けるかもしれんな
- 635 名前:482 mailto:sage [2008/05/02(金) 15:32:08 ]
- どうでも良い話だが「俺はC言語で十分だからデストラクタは要らない」
という文章は思い付かなかったのか? 元々そういう文脈だし、余程 国語が苦手じゃなきゃ自明だろ。 こんなどうでも良い話でよくこれだけ盛り上がれるな…
- 636 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:34:20 ]
- ttp://mentai.2ch.net/prog/kako/981/981051921.html
- 637 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:38:27 ]
- >>635
思いつくわけないだろw 何でピンポイントにデストラクタだけなんだよ。 C++要らない、とかなら分かるけど。
- 638 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:42:43 ]
- C言語はコンストラクタが無いから使えねぇ
- 639 名前:482 mailto:sage [2008/05/02(金) 15:43:31 ]
- >>637
お前 >>481 を読んでないのか? 粘着する前に周りを良く見ろよ
- 640 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:43:44 ]
- cには不要。
c++には必要。 でFA
- 641 名前:482 mailto:sage [2008/05/02(金) 15:49:24 ]
- >>640
『C++要らない』も追加でw
- 642 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 15:59:40 ]
- そうだな、そういやそういうスレだった
- 643 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 16:03:47 ]
- そもそもC++なんぞ窓以外では閑古鳥
- 644 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 16:12:48 ]
- つまり、正統派はCOBOLと言いたいのだな
- 645 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 16:43:22 ]
- C++はいらない子
- 646 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 18:04:51 ]
- でもCよりC++の方が明らかに便利じゃないか?
int func(int arg) { if (arg < 0) return -1; // error int param = ...; } Cだとこんなのがコンパイルできないし。
- 647 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 18:08:29 ]
- C99で十分
- 648 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 19:08:08 ]
- てst
- 649 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 19:43:48 ]
- よくわかんないけど、これわだめなのか
% cat c.c #include <stdio.h> #include <stdlib.h> int func(int arg) { if (arg < 0) return -1; int param = 0; return param; } int main() { printf("%d¥n", func(-1)); exit(0); } % cc -ansi -Wall c.c % ./a.out -1
- 650 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:26:46 ]
- Javaの方がC++よりひどい欠点がある。
JavaのJava Runtime Environmentのバージョンの問題だ。 Javaで書かれたプログラムはRuntimeバージョンが違うと動作が保障されないだろ。 これだと、Runtimeバージョンが違う二つのソフトは同じマシンで動作する保障がない。 駄目だこりゃ。
- 651 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:28:43 ]
- >>603
それはこういう所の楽しみ方が分かってないからだよ 意見が純粋に意見として存在出来るというのは貴重なんだぜ 誰であるかという属性を意識したいならば、そういう場所へ行けば良い
- 652 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:36:46 ]
- >>651
単に>>616みたいなことにならないように、ってことじゃね? スレ毎でいいってのも属性を意識する気はないってことかと
- 653 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:50:27 ]
- >>647
少なくとも既存のCでは不足ということでよろしいか? というか、Cが好まれる理由はポータビリティにあると思うのだけど、 C99にその役目は果たせるのか? あと、C99でよくてC++でダメな理由は何? >>649 あれなんでコンパイルできるの? msvc6,7,8、もBorlandCも全部できなかったよ。
- 654 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:54:59 ]
- >>643
個人PCの約9割がwindowsを使っているわけだが・・・
- 655 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:55:44 ]
- >>650
JREって複数バージョンを同一マシンにインストールできるんじゃないの?
- 656 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:59:26 ]
- vcランタイムやvbランタイムや.netやjava VMやらが、しかも複数インスコされたら
もうそれだけでお腹いっぱい。
- 657 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:02:29 ]
- gccだと>>649のコンパイルできるんだな
-std=c89 -pedantic-errors これつけるとだめだけど
- 658 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 21:12:58 ]
- これでいいのか
% cc -ansi -pedantic -Wall c.c c.c: In function ‘func’: c.c:3: warning: ISO C90 forbids mixed declarations and code たしかにC99でじゅうぶんだな % cc -std=c99 -pedantic -Wall c.c % ./a.out -1
- 659 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 22:13:54 ]
- >>650
Runtimeバージョンが同じでもプラットフォームが違うと動かなかったりする。 WOREをもじってWOTEと冗談ぽく言われたり。
- 660 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 23:10:46 ]
- >>651
意見=その瞬間の思いつき、ならそれでいいけどね。 ちょっとでも「根拠」というものが関わってくる「まともな」意見交換になると、 ある1レスに意見の全容が入ってることはまず無くて、そいつの発言のラインを辿って 読み込んでいく必要が出てくるけど、そこで誰が誰やらわからないと、ちょいと面倒になる。
- 661 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 23:18:06 ]
- そういうのを求めるのであれば別の所へ行く方が君の為だろう
- 662 名前:603 mailto:sage [2008/05/02(金) 23:50:16 ]
- まさに俺自身が誤解されてるような気がするから書いておくけど、
>>603以降で俺のレスは>>627と>>640だけだからね。
- 663 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 23:52:04 ]
- >>661
「そういうの」がどういうのかわからないけど、 「意見が純粋に意見として存在」するためには前後の認識が必要になるという話。 >>651が「意見ではないものを意見と呼んでいる」場合、野暮なツッコミだったけどね。
- 664 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 23:59:02 ]
- >>662
誰が誰だか気にし過ぎ
- 665 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:07:59 ]
- そうでもないと思うよ。
- 666 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:13:52 ]
- 651は属性とか言わず、普通に
単発の適当な内容をわかった風に書き散らすには、IDは邪魔 って言っておくべきだったんだよ
- 667 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:14:58 ]
- わかった風な事言うなよ
- 668 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:19:21 ]
- お楽しみ頂けただろうか。
実はこのスレには俺とお前と読んでるだけの奴の3人しか居ないんだ。
- 669 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:27:10 ]
- ねーよw
- 670 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:30:14 ]
- 以下の不等式に付いて論じよ(30点)
C + LL > C++
- 671 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:45:44 ]
- ナタネ油くらいの燃料が投下されました。
- 672 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 00:49:42 ]
- #include <iostream>
class Hoge { public: Hoge(int n) : n_(n) {} Hoge(const Hoge& hoge) : n_(hoge.n_) {} bool operator>(const Hoge& rhs) const { return n_ > rhs.n_; } Hoge operator+(const Hoge& rhs) const { return Hoge(n_ + rhs.n_); } Hoge operator++(int) { Hoge tmp(*this); ++n_; return tmp; } private: int n_; }; int main(int argc, char* argv[]) { Hoge C(10), LL(20); bool ret = C + LL > C++; std::cout << ret; return 0; } # 1 (BCC5.6.4)
- 673 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:30:55 ]
- > C++ が唯一無二の最高言語
俺にとってはそうだ。 既に万人向けの言語ではなくなってしまったが…
- 674 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 02:05:56 ]
- 何が最高なの?
- 675 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 02:18:25 ]
- template
boost concept move semantics
- 676 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 02:25:29 ]
- 自分は >>673 ではないが自分にとってもC++は最高だ
実用に耐えるのに面白い 初心者向きではないだろうが、長い間使い続けても新発見があるカオス言語 プロは毎日コードを書くんだよ すぐに全貌が見えきってしまう言語なんて飽きちゃってつまらないだろう Haskellとかは面白いけど実用に耐えないから仕事で使えないし
- 677 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 02:46:21 ]
- C++に関してはgccの方が規格外
|

|