C++は難しすぎ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGわかりやすいプログラミング言語をつくれないBjarne Stroustrupには げんあり
0159デフォルトの名無しさん
NGNGじゃーmanaged C++使えばいいんでないの?ごめんなさいよく知りません。
もしくはBで始まるC/C++で使えるガベコレ導入するとか?ごめんなさいよく知りません。
0160デフォルトの名無しさん
NGNGBで始まるガベコレは所詮ライブラリ。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGやっぱ言語自体が実装してくれないとね。
0163デフォルトの名無しさん
NGNGそれは不思議な意見だ。
コンパイラの独自拡張に任せればどうやったって可搬性はなくなるし、
仕様に含めて強制すれば恐ろしくパフォーマンスを低下させる。
0164デフォルトの名無しさん
NGNG起きる問題って循環参照だけっしょ?
0165デフォルトの名無しさん
NGNG十分だと思う、それがあると構造のあるコンテナがまともに作れん。
0166デフォルトの名無しさん
NGNGいや、だから規約内でガベコレうまくやろうやって方向が正しいんじゃあ?
cyclic_shared_ptr はどうなの?誰かboost追っかけてる人の感想ラゴンヌ。
0167デフォルトの名無しさん
NGNGもっと機能が欲しいという人たちにこのスレは占拠されました。
C++を理解できない人たちはそもそも頭が弱いので反論もできません。
0168デフォルトの名無しさん
NGNG難しいというより使いにくい。
0169デフォルトの名無しさん
NGNGつー訳で、STL使いたくない香具師は、STLを使わなければ良いだけだし
漏れみたいに、演算子のオーバーロードが、(便利な時もあるけど)あまり好きでない香具師は
演算子のオーバーロードを、あまり使用しなければ良いし
スマートポインタが…(略)
0170デフォルトの名無しさん
NGNG何度も言うけど設計の時点でミスってるものをなんで誤魔化そうとするものを使うの?
きちんと設計すればそんなものいらないでしょ。
こんな基本的なこともわからないで設計段階で何を考えてるのよ。
それと言語の性質みたいにいわないでよ。
JavaやC#を使うとインスタンスの依存関係も管理ができなくなるのか?
違うでしょ。
スマートポインタが必要ってのは明らかに設計ミスなんだよ。
最近の生成と破棄に関しての実装技術はなんか信用できない。
使ってもちっとも便利になった気がしない。
解決するべき問題が違う方向にいってる。
0171デフォルトの名無しさん
NGNG「スマートポインタが必要ってのは明らかに設計ミスなんだよ。」
の理由を述べてください。
もう前提条件が間違っているとしか言えません。
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG大乱闘スマッシュ○○ぽ…
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNG「明らかな設計ミス」がどういうことだかわからん。
しかも「なんか信用できない」って激しく感覚的だな。
0179デフォルトの名無しさん
NGNG0180
NGNGあるコンポーネントへの参照(あるいはインタフェイス)については「参照が
存在する」間は寿命が継続する、ということにしとかないとクライアント側が
いちいち実装についての知識を持つ必要があって面倒なわけで、そういったも
のを使うときはスマートポインタの類は便利だと思う。ダイナミックに委譲先
が生成・消滅する場合なんかもあるし。
0181デフォルトの名無しさん
NGNG設計当時の技術力の
限界といった方がいいね。
0182デフォルトの名無しさん
NGNGC++の言語仕様そのものが設計ミスだと思うけど
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG例外を吐きうる関数とか呼んだりする時、極めてめんどくさいんですが。
0185デフォルトの名無しさん
NGNGやっぱりC++は設計が腐ってるよ。
0186デフォルトの名無しさん
NGNGガベコレを仕様に含めたC++<<<<<<<<<<<<<<<<<<<<<<<<<<<<今のC++
Java⊥C++
0187デフォルトの名無しさん
NGNGそのうち追加されるんじゃねぇの、16ビット時代の far near のように属性でもつけりゃ上位互換で拡張はできるし、
Microsoft 流に class に属性つけてもいいし、やり方はいくらでもあるし
個人的には細かめの機能で template を使って実装、小細工をユーザー側でてきるようなのがいいな。
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNGそれ以外のリソースは関係ありません。
それ以外のリソースは今まで通りで、
メモリに対してアドバンテージがあるのです。
0191デフォルトの名無しさん
NGNG共存させると、極めて煩雑になりそうな気がする...
0192デフォルトの名無しさん
NGNGリソースじゃなくてリソースを掴むオブジェクトの話だろ
ガベコレでオブジェクトが破棄されればそれが持ってるリソースも同時に開放されるだろ
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGprivateなメンバを変更するだけで参照しているプログラム全部コンパイルしなおすのはかなり嫌だ。
実装をさらけ出したうえ、1メソッド=1機能にしようにも複数のメソッドに分割すればするほど再コンパイルの可能性が上がるし。
pImplイディオムとかしょうも無いことやら無きゃいけなくなる・・・
0195デフォルトの名無しさん
NGNGと言いたくなるんだけど、正直Dってどうよ?
0196デフォルトの名無しさん
NGNG「げんあり」ってなに?
0197デフォルトの名無しさん
NGNGBjarne Stroustrup Interview about C++
http://hp.vector.co.jp/authors/VA000092/jokes/strup.html
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGVC++が糞なだけだ
0200デフォルトの名無しさん
NGNGそれはC++がクソなせいというオチ
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGでも、ぼくはガーベジコレクションが走るまでリソースを確保しっぱなしに、なんてできないんです。
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGいまさらincludeを無くすという訳にもいかんだろうし、やるとしたら
プリコンパイルヘッダの規格化が良いと思う。
0205デフォルトの名無しさん
NGNGヘッダファイルまとめてインクルードしてない?
0206デフォルトの名無しさん
NGNG★☆見られるのはちょっと恥ずかしいけど、、、★☆
http://endou.kir.jp/akira/linkvp.html
0207デフォルトの名無しさん
NGNGというのは結構賛成。本当の意味で、対等に共有されている
オブジェクトというのも存在するけど、基本的には、オブジェクトが
誰の下請けとして動いていて、誰と心中すべきかということは
はっきりしているでしょ。意味論的に死ぬべきオブジェクトが、
間違って参照されていて、たまたまそれで動いていても、
それはバグであって、GCがあると単に落ちないだけ。
だから、auto_ptrは使うけど、shared_ptrとなると、vectorに
突っ込む場合に使う程度で、積極的に使うことはほとんど無かったり。
0208デフォルトの名無しさん
NGNG激しく同意
0209デフォルトの名無しさん
NGNGBCBってあのC++にはない拡張構文をふんだん使ったあれ?
完全C++ライブラリのOWLが死んで、
C++に(ついでにobject pascalにも)ないclosureという
デリゲートもどきプロパティもどきやAnsiStringを使いまくった
VCLが生き残っているのは皮肉だな。
結論、C++はクソ
0210デフォルトの名無しさん
NGNGそんな所有関係がはっきりしているような状況はそもそも話題にもなりゃしないだろ。
あくまでオブジェクト同士が対等の場合の話に限るべき。
0211デフォルトの名無しさん
NGNG▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
開店セール1枚 500円より→→→http://www.dvd-exp.com
アダルトDVDが激安販売→→→http://www.dvd-exp.com
アダルトDVDの価格はなーんと1枚900円→→→http://www.dvd-exp.com
最短でご注文いただいた翌日にお届け!→→→http://www.dvd-exp.com
セルビデオ店の人気商品が24時間お買い物が出来ます。
時間をかけてゆっくり選んでください!
http://www.dvd-exp.com←へGO!
DVDエクスプレス
0212デフォルトの名無しさん
NGNG(宣言すると同時にスコープをはずれた瞬間、破棄されることが保証される)
shared_ptrでいまいち寿命がはっきりしないケースというのは、
設計上、特に注意すべきポイントだとは思う(単純にスマートポインタを
つかえばすべての問題が解決するわけではない)が、設計ミスとは
いえないと思う。
0213デフォルトの名無しさん
NGNG可読性はあがんねーだろ?
現状、Boost知らない奴のが多いんだから。
0214デフォルトの名無しさん
NGNG用途は無視してとりあえず作ってみました。
使ってね。って感じ。
「Longhornではインドウがグニャグニャ動いてすごいだろ。」
「それをなんに使うの?」
「・・・」
と同じ感じがする。
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGダブルバッファリングになって3Dアクセラレータが使えるようになっただけだっけ?
凝ったことするとゲーム屋ご用達になるけど基本は変わらないでしょ?
GUIまわりだけ?
0218デフォルトの名無しさん
NGNGその一方で、C++相談室は、荒れもせずもくもくと進んでいること。
この2つを見ただけで、C++という言語の性質がわかるような気がする。
0219デフォルトの名無しさん
NGNGGCでは使用されなくなったらGCが起動した時点で削除されます。
あなたはどこで削除されるのか分からないのですか?
GCぐらい使いこなしましょう。
0220デフォルトの名無しさん
NGNGアホか。GCにたよらないとリーク起こすようなプログラムを書く詰めが甘い奴はプログラマ辞めろってこと。
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG散々でている参照共有スマートポインタがそれなのでは?
0223デフォルトの名無しさん
NGNGえぇそういうプログラマは辞めたほうがいいですね。
同時にGCの便利さが分からないプログラマも辞めたほうがいいです。
ちなみに私はGCに頼らなくてもリークを起こさないプログラムを書けて
GCの便利さを認めています。
もしかしてあなたはプログラマ失格者ですか?
0224デフォルトの名無しさん
NGNGあれじゃスマートかつエレガントに実装できない。
0225デフォルトの名無しさん
NGNGゴメン、参照共有スマートポインタってなに?
0226デフォルトの名無しさん
NGNG対等のオブジェクト同士を無理に関連づけようとするからうまくいかないんだよ。
上の方でだれかがいってた、一つ上に管理クラスを用意する方法が一番綺麗じゃないかな?
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG誰もアクセスしなくなったあるオブジェクトを自動的に削除するために
そのあるオブジェクトを生成すると同時に削除用オブジェクトを生成する、
そこには参照カウンタなるものがあって、参照する人が一個増えたらカウントアップ
減ったらカウントダウン、でカンウタが 0 になったら、そのあるオブジェクトを削除して
削除用も自滅するって感じかな。
= オペレータをオーバーロードして、ポインタがコピーされたときに参照カンウタをいじくる仕掛け。
-> オペレータもオーバーロードしてあって、見掛けは普通のポインタ。
Pythonの簡易ガベコレの実装がそうだって聞いているけど詳しいことは知らない。
完全にメモリーリークを防げないのでガベコレとは言えないかも。
0229デフォルトの名無しさん
NGNGclass unko
{
public:
unko* p;
};
unko* u1,*u2;
u1=new unko();
u2=*u1;
u1->p=u2;
u2->p=u1;
ってこと?
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGサンクス。一つ賢くなった。
0233229
NGNG0234デフォルトの名無しさん
NGNGでもいくらめんどうでも、GCはどうだろう?
パフォーマンスにそれほど影響なければ入れてくれ。
0235230
NGNGまちがってなーい!
なに×つけてんだゴルァ!
0236デフォルトの名無しさん
NGNG☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★☆
☆★ 送料激安!! 送料激安!! 送料激安!!
★☆ http://www.get-dvd.com
☆★ 激安アダルトDVDショップ
★☆ お買い得セール1枚500円〜980円!急げ!
☆★ インターネット初!「きたぐに割引」
★☆ 北海道・東北の皆様は送料も激安!
☆★ http://www.get-dvd.com
★☆ スピード発送!
☆★ http://www.get-dvd.com
★☆ 商品が豊富!
☆★ http://www.get-dvd.com
★☆
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG> アメリカのアホーにも載ってない言語誰が使うかと。
> ネタにマジレス。
JavaがだめになったらC#に移行するという考え方が現実的でない
ということだろ。だめになったらむしろC++かD言語に移ったほうが
特定環境への依存度を控えめにすることができるってことだろ。
どこかに知られている知られていないを基準にして受動的に言語を選ぶなよ。
>>48
>Java も C# も D も上っ面は似てるけど、対応分野が違うし、
>(特にJavaは次世代COBOLの座が確定状態な上に
これは悪い意味で言っているのか良い意味で言っているのか激しくよくわからん。
「COBOLのシェアを奪う」ので良い意味なのか、
「COBOLと同じようにスパゲティコード吐きまくって
嫌われる言語になる(おれにはとてもそうは思えん。
それだったらC++のほうがよっぽど嫌われやすい)」びで悪い意味なのか
よくわからん。
0239デフォルトの名無しさん
NGNGJavaでGenericsを使うにはCollection系の型キャストの問題を
解決できれば十分で、それ以上のスパゲティ化につながる
C++独自のtemplateのテクニックの必要性を感じないと思うがどうよ。
10年経ったら「Javaは遅い」ともさすがに思わないだろうし
C++の必要性も、ソースコードを汚してまで
細かいポインタ演算や細かいメモリ管理をしてまで使うことも少なくなり
淘汰されると思うが。
うーむ、これはC++信者に対する煽りなのだろうか?
それでもJavaの速度に不満があるなら(10年計画で)独自のJavaChipを自作するなり
C/C++/アセンブラなどを使ってJVMを独自に改造するなりしてパフォーマンスをあげてみるのがいいんじゃないかな。
これからのプログラムは、各CPUにあわせてその場でコンパイルして実行する形式
になる、それでいいんじゃないかと。
0240デフォルトの名無しさん
NGNG> >>104
> 言語以外にも学習すべきことは山ほどあるので、まだお楽しみは続く。
> UML2.0とか。
UMLは使うだけなら「学ぶ」ほどのものではないと思われ。
しかしUMLの資格試験を取るなら学ぶしかない。
0241デフォルトの名無しさん
NGNG同感。C++の余計な機能はおまけとして学んでおいて
Javaでもできることもちゃんと学べよ。
0242デフォルトの名無しさん
NGNG結城浩の「デザインパターン」本のほうが
オブジェクト指向を素早く理解できそうな気がするが。
0243デフォルトの名無しさん
NGNG> C++ にとってのオブジェクト指向っていうのは、使える方法論の一つに過ぎないんです。
その「オブジェクト指向」による再利用性、拡張性、移植性を無視した
C++プログラマがわんんさかいて後継者が大変な思いをしているんだよ。
0244デフォルトの名無しさん
NGNG速度以前に改善すべき点があるんじゃないのか?
0245デフォルトの名無しさん
NGNG> こんな煽りスレが勢いよく伸びていること。
> その一方で、C++相談室は、荒れもせずもくもくと進んでいること。
> この2つを見ただけで、C++という言語の性質がわかるような気がする。
どういう性質なのかあなたの意見を聞いてみたい。
おながいしますわ
0246デフォルトの名無しさん
NGNG> 10年たってもクライアントサイドでのJavaのシェアはきわめて0に近い悪寒
> 速度以前に改善すべき点があるんじゃないのか?
じゃ、D言語を普及させておくれよあんた。
C#なんかに乗せられたくないし。
0247デフォルトの名無しさん
NGNG> 追加されてもM$は絶対に無視するだろうなぁ
M$の流れに合わせる必要があんのかと小一時間
M$に自分の将来を左右される必要があるのかと小一時間
0248デフォルトの名無しさん
NGNGtemplate
スマートポインタ
GC
STL
Generic programming
...
おまいら日本語しゃべってください
0249デフォルトの名無しさん
NGNGマジレスすると、無視しても何の問題もないよ。
0250デフォルトの名無しさん
NGNG> 10年たってもクライアントサイドでのJavaのシェアはきわめて0に近い悪寒
JavaWebStartで自動ダウンロード、自動インストールが売りだと思う。
J2EEと連動しないと動かないクライアントサイドJavaプログラムを
作ってしまえば普及するかな。かえって普及しなくなるかな。
> 速度以前に改善すべき点があるんじゃないのか?
しかし、これは釣りか?
実際シェア0ってことがあるのかと問い詰めてみたいものじゃ。
改善すべき点と何かね? C#厨がJavaと比較してC#の宣伝に使っている
あの中途半端な変な機能をJavaに追加するんならばC++やったほうがいい
ともいえるが、そういうものでもないかね?
それとも、JavaはもっとSmalltalkライクな言語にすべきかね?
0251デフォルトの名無しさん
NGNG日本語に翻訳したらかえって分かり辛くなる気がする
0252デフォルトの名無しさん
NGNGC++にもクラスライブラリーを揃えてOOをしようという動きはあったんだが、
とこが、STLをみて考えが変わってそのライブラリーは捨てられ、そしてSTLが標準になって今に至ったんだと。
C++でクラスライブラリーを作っても使い物にならないという結論となった。
っていう話を聞いたことがある。
0253デフォルトの名無しさん
NGNG> そんなあなたにD言語
> と言いたくなるんだけど、正直Dってどうよ?
C++やJavaがだめになったらC#に以降だなんて最悪。
M$に左右されてversion upするたびにソースコードを無駄に改変する手間は
かけたくない。そんなときD言語に期待。
0254デフォルトの名無しさん
NGNG標準に仮想デストラクタを持った基本クラスを決めてくれてれば
いろんなところが便利になったんじゃないかと思う。
0255デフォルトの名無しさん
NGNG色々な情報に惑わされてねーか。
あとC++とC#とJavaでは用途が違うんでねーか・・・。
0256デフォルトの名無しさん
NGNG検索するしかないのう。
Javaに関連があるものはtamplateが少し、
GC(ゴミ収集車)がおもいっきり(しかし自動なので意識する必要性がほとんどない)、
STLがtemplate周りで少し(JavaのCollection系ライブラリにも追加されんのかね?)
Generic Programmingが時期Javaでおもいっきり。
スマートポインタ? こんなのしか知らん。
http://www.panasonic.co.jp/pc/prod/note/l1es/spointer3.html
こんなサイトを見つけた。
スマートポインタの落とし穴
http://www9.plala.or.jp/dequartet/new_page_4.htm
スマートポインタ
ポインタ編のおまけとして、スマートポインタについて解説します。
スマートポインタは例外処理やJavaの存在で、必要不可欠な存在にな
りつつあると思います。まだよく知らないという方のための簡単な解説ということで。
http://www.kab-studio.com/Programing/Codian/Pointer/12.html
よく見るとスマートポインタはJavaの常識だすのう。
しかし「スマートポインタ」は死語にみえてしまうのでおじゃる。
0257デフォルトの名無しさん
NGNG初心者がC/C++の本を読んだら、実際に動かしたときに
ポインタ演算のところとエラーメッセージのわかりにくさと
バッファオーバフローの判別のしにくさなどで
ひるんでしまいそうだが。
0258デフォルトの名無しさん
NGNG「マイクロ」が付く2つの会社にだまされているのですか?
■ このスレッドは過去ログ倉庫に格納されています