トップページ⇒tech
869コメント271KB

C++は難しすぎ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
あんなの理解できるハズないだろ!
わかりやすいプログラミング言語をつくれないBjarne Stroustrupには げんあり
0002デフォルトの名無しさんNGNG
超絶はげどう
0003デフォルトの名無しさんNGNG
>>1
がんばれ
0004デフォルトの名無しさんNGNG
C++、ま、基礎的な文法は理解してるけど
これでコーディングはしたくない。
0005デフォルトの名無しさんNGNG
その意見を誰一人否定しないと思うが使えんるんだよアレ
とりあえず単発禁止、削除依頼だしとけ。
0006デフォルトの名無しさんNGNG
Javaの方が10倍くらい楽。
JavaがだめになったらC#に移行する。
0007デフォルトの名無しさんNGNG
C++でゲームは作れるが、チームプロジェクトでもしない限り、
VisualBasic等の方がすぐ作れて楽しいと思う。
0008デフォルトの名無しさんNGNG
Write once, compile anymore.
0009デフォルトの名無しさんNGNG
>>1
> あんなの理解できるハズないだろ!
そうかなぁ。
0010デフォルトの名無しさんNGNG
今からはC++の時代じゃない。ハードウェアの性能が上がった今はC++など
やっていても仕方がない。

(個人でちょこちょこっとやる場合は。)
0011デフォルトの名無しさんNGNG
これからはひまわりの時代
0012デフォルトの名無しさんNGNG
>>1
お前が頭悪いだけだろう。人のせいにすんな
0013デフォルトの名無しさんNGNG
>>6
template が使いこなせるようになれば世界が変わるかもよ
C++の殆ど全機能が使いこなせるようになるとJavaも必ずしも楽でもないと分ると思うが・・・
0014デフォルトの名無しさんNGNG
>>13
テンプレートは、Javaでも来年頃サポートされるらしい。

0015デフォルトの名無しさんNGNG
Javaのtemplateは使い物にならねぇよ
0016デフォルトの名無しさんNGNG
まぁC++が強力なのは否定せんが
俺は非力でも言語仕様の簡単なものの方が良い。
オートマ車で十分だよ。
0017デフォルトの名無しさんNGNG
誰かが言ってたな。
昔のプログラマが不幸だったのは、Cを覚えないと何もできなかったことだって。
今の言語なら、JavaでもVBでも、他の言語で大概潰しが利くから、
無理してC++覚えなくてもいいんじゃないか?
C++じゃないとできない事をやろうとしているなら別だけど。
0018デフォルトの名無しさんNGNG
なんか「STL使ってるプログラムは読みにくい」とへたれに言われた
のですが、ここのへたれ方々もそういったことをほざくのでしょうか?

typedef vector<int> IntArray;
IntArray ia;
ia.push_back(10);

これってやっぱ読みにくいんですか?
0019デフォルトの名無しさんNGNG
>>18
つーか,テンプレ知らない。
0020デフォルトの名無しさんNGNG
どんなことでも知っている人にしかわからないよ

でC++だけど俺も最初あんな物は開発者にしか分からないとか思っていたんだが
暇を見て解説書を眺めていたら今やもうSTLもBoostも手放せなくなっている
0021デフォルトの名無しさんNGNG
>>18
テンプレートというか、iaという変数名に対して小一時間問い詰めたい。
おまえはなぜ変数名に2文字しか使わないのかと。
誰かに「この変数、何?」って聞かれて得意づらするキモオタなのかと。
0022デフォルトの名無しさんNGNG
まぁ今の時代、UMLとか覚えることが増えすぎているし
OOだと分析・設計に手間を食うわけだから
なるべく言語は簡単な方がいいな。

0023デフォルトの名無しさんNGNG
18ではないが IntArray で変数名が ia なら見ての通りだと思うが、
これで解らないなら脳がヤバイよ。
0024デフォルトの名無しさんNGNG
>>18
俺もSTL使ってるけどキタネェなって思うときはあるよ。
ポインタの配列をvectorでもっておいて
容量を増やしつつ新しく作ったものを格納して初期化
って良く使う流れを行うとなんか汚くなるんだけどみんなどう書いてる?
俺がSTLかじっただけでアホなやり方してるだけかもしれないけど。
0025デフォルトの名無しさんNGNG
3行しかないサンプルでどんな意味のある変数名
付ければ >>21 は満足なのか。
0026デフォルトの名無しさんNGNG
>>24
汚くなったコードを晒してくれれば添削できるかもしれない。
0027デフォルトの名無しさんNGNG
>>26
携帯なので書きにくいんだ。
手順をいうと要素を増やすのに
・サイズを取得する
・リサイズして1増やす。
・newで生成したものをいれる。
・今作ったもの初期化する。

てやってるんだけど
これが汚いんだ本当。
末尾に追加とかあると思うけどリサイズで済むなら別にいいやとか思ってたりする。
一番末尾にある要素にもsize()-1とかやってたりする。
0028デフォルトの名無しさんNGNG
>>6
>JavaがだめになったらC#に移行する。
(゚Д゚)ハァ? 時代はD言語への移行だろ
0029デフォルトの名無しさんNGNG
v.push_back(new hoge("hoge"));
なら1行で済むはずなんだが...。


0030デフォルトの名無しさんNGNG
>>15
おまえはここへ逝け

【猿が】JavaニGenericsハ不要 【ソース汚す】
http://pc2.2ch.net/test/read.cgi/tech/1055519583/l50
0031デフォルトの名無しさんNGNG
>>1
その気持ちは理解できなくも無いが、全ての機能を覚えなくても良い、
どんな機能があるか概要だけ知っておいて、詳細は必要になったときに
覚える、というスタンスでやればいいんでないの?
0032デフォルトの名無しさんNGNG
>>1
ttp://hp.vector.co.jp/authors/VA000092/jokes/strup.html
0033デフォルトの名無しさんNGNG
>>31
そういう人はよく見かけるけれど、C++に限ってはそれは危ないよ
003418NGNG
>>21
ぎゃはははははは(ワラ

ちゅうがくせいはなつやすみのしゅくだいでもやってろって(ワラワラ


( `_)乂(_´ ) 勝負! \(^o^)/
☆○(゜ο゜)o ぱ〜んち、☆(゜o(○=(゜ο゜)o バコ〜ン!!( ゚▽゚)=◯)`ν゚)
・;'パーンチ (>_<) いてっ!
ダメ!! ゛o(≧◇≦*)oo(*≧◇≦)o″ダメ!!
(☆o☆)きゃ〜〜(@_@;)やられた〜〜(o_ _)o ドテッ ガ━━(゚Д゚;)━━ン!
(+_+) 気絶中。。。。・゚゚・o(iДi)o・゚゚・。うぇぇん <(゜ロ゜;)>ノォオオオオオ!! (゚□゚;ハウッ!
なあんて(#⌒▽⌒#)こんな私っ!σ(^_^)だけど、(///▽///)
お友達になってm(_ _)mくださいませませ♪('-'*)フフ
ドガ━━━Σ(ll◎д◎ll)━━━━━ン ということで。(^-^)vじゃあね〜〜〜♪
(⌒0⌒)/~~ ほんじゃo(゜▽゜ヽ)(/゜▽゜)o レッツゴー♪
0035デフォルトの名無しさんNGNG
>>33
具体的にどんなことでしょうか?

俺なんかは多重継承なんて、できることは知っててもC++始めて数年間、やり方を
知りませんでした。
今でも全く、と言っていいほど使わないけど。
0036デフォルトの名無しさんNGNG
>>28
アメリカのアホーにも載ってない言語誰が使うかと。
ネタにマジレス。
0037デフォルトの名無しさんNGNG
D言語
http://www.digitalmars.com/d/
0038デフォルトの名無しさんNGNG
>>35
多重継承とかならキャストの問題とか、
他にも代入を定義していないと、構造体としてコピーされるとか
explicit をつけないと勝手にキャストされて謎の挙動になるとか
ようするに、全部把握していないと簡単に落とし穴に簡単に落ちるってところ。
C++歴史があるので、積み上げに積み上げた無理のある言語仕様になっていますからね。
言語仕様ではないが所有権共有リファレンスカウンタ式スマートポインタを何も考えずに使ってしまう人とかも危険。
また、実際使うときにも、話題によく上がっているようにtemplateなんかは、
細かい仕様を理解していないと上手に使えないから、
C++本来のおいしい所が使えなくて、なんだこりゃ具合の悪い言語だって事になってしまいます。

とはいっても、いっぺんに全部とは絶対に行かないので、少しづつ憶えざるをえないですが、
それでも最終的には全部知らないとよろしくないと思います。
0039デフォルトの名無しさんNGNG
>>29 例外安全にしる。
0040デフォルトの名無しさんNGNG
>>29
追加したあと追加した要素を初期化したいときなんかは
リサイズ使うときとあんまり変わらなくないですか?

ところで末尾の要素ってどうやってアクセスしてますか?
0041デフォルトの名無しさんNGNG
vector::back()
0042デフォルトの名無しさんNGNG
>>40
> 追加したあと追加した要素を初期化したい
ここらへんが間違ってないか?
0043デフォルトの名無しさんNGNG
>>38
> 言語仕様ではないが所有権共有リファレンスカウンタ式スマートポインタを何も考えずに使ってしまう人とかも危険。

これってなにか落とし穴があるの?
0044デフォルトの名無しさんNGNG
>>43
巡回参照問題とかでさがしてみ
0045あぼーんNGNG
http://homepage.mac.com/hiroyuki44/
0046デフォルトの名無しさんNGNG
循環参照て言わないか
0047デフォルトの名無しさんNGNG
>>41
ありがとうございます

>>42
なんで駄目なんですか?
自分じゃどこが悪いのか全くわかりません。
0048デフォルトの名無しさんNGNG
難しいのは同意だが、代わりがないのも事実。
Java も C# も D も上っ面は似てるけど、対応分野が違うし、
(特にJavaは次世代COBOLの座が確定状態な上にGenericsがあれではC++で培われたテクニックが何も使えん)

というわけで C -> C++ の流れの次の言語の登場を待たれい!
俺は今そんな目的でトランスレータを作ってるが、こないだやっと数値リテラルをトークン化できるようになったトコロなので
完成は10年後くらいだ!!
0049デフォルトの名無しさんNGNG
高校2年のときVBがはじめて3年後半からC++にあがって今大学3年、C++以外使う気にならないな。
VBからC++にうつったときはこんなもん使えるかよバカ、::ってなんだよボケとか思ったが・・・
しかしC++なのにポインタばっかり使って参照は滅多に使わないな。なんでだろう。
まあ継続してやっていけば年々理解が深まるからいずれ使えるようになるさ。
良著と呼ばれる本をあさって読もう。
0050エスパー伊藤ギャビンNGNG
サイキックシェアードポインタ最強!
0051デフォルトの名無しさんNGNG
>>18
つーかSTL無いと困るよね。とくにvector。一回STL本に目を通せば別に読みづらくないのに。
0052デフォルトの名無しさんNGNG
>>47
未初期化なオブジェクトがコンテナに含まれているタイミングがある。
マルチスレッドだと深刻な問題になり得る。

new のあとにさらに初期化が必要なのが、もっと根本的な問題。
0053デフォルトの名無しさんNGNG
Effective C++
More Effective C++
Efficient C++
Exceptional C++
More Exceptional C++
Modern C++ Design
こんなトコかな?これくらいこなせば中級者くらいにはなれる。
0054デフォルトの名無しさんNGNG
あと、
Effective STL
C++ FAQ
C++標準ライブラリ チュートリアル&リファレンス
憂鬱
0055デフォルトの名無しさんNGNG
>>40
コンストラクタでの初期化と再初期化のこと?
格納したクラスの仕様書に載ってるはずだが...。

iteratorって知ってる?
*(v.end())

もう少し基本的なことを調べたほうが近道だと思われ。
explicit,コンストラクタ初期化子,iterator,
Effective C++,STL標準講座,boost,DeepC++(MSDN templateの話題),Modern C++
0056デフォルトの名無しさんNGNG
> *(v.end())
未定義

0057デフォルトの名無しさんNGNG
More Effective C++ は翻訳が悪いらしいが本当?
0058デフォルトの名無しさんNGNG
c++はどんなにSTLやtemplateその他の機能が理解できてもしょせん
根っこのほうを理解していないと一人よがりなコーディングになるのがオチ。
0059デフォルトの名無しさんNGNG
*(v.end()-1)
end()は末尾の一つ後だったね...。
0060デフォルトの名無しさんNGNG
>>57
たしかに読みにくかったけど、まあしょうがないでしょう。
嫌なら原著嫁って事で。

>>58
>1 の書き方だと他の言語はしっかりわかるみたいだけど。
ところで根っこの方って何?ぼいんタン演算とかそういう古臭いCの知識だったらむしろはじめは無い方がいいとすら思う事もあるけど。
0061デフォルトの名無しさんNGNG
>>52-55
初期化ってコンストラクタですべてやりきるものなんですか?
そもそもtryとcatchを職場で使っている人間がいなかったりします。
initとかありますよ。
紹介してもらった本よんで頑張ります。
0062デフォルトの名無しさんNGNG
>>60
ポインタ演算くらいは古臭いとかじゃなくてC系の言語を使うものの常識して欲しいと思うが・・・
C++を使うって時点で特殊なターゲットを相手にする確率はメチャメチャ高いわけだし。
とはいっても、知らないと一人よがりになる根っこの方って何だよと思うのは同感。
006360NGNG
>>62
ポインタはほとんどオブジェクト参照としてしか使ってないのでね。
大抵は配列の書式で間に合うし。
CやっててC++できないって人の多くが、「今までのやり方==正しいやり方」っていう勘違いの為に
C++使えないでいると思う。
だから下手するとCとか知らないほうがC++マスターするにはいいんではないかと。
ちなみに漏れはBASIC系育ちだが、もはや母語がC++になってまった感があります。
(もちろんポインタ演算もたまにしますよ、パフォーマンスが気になる部分で、ポインタ演算使っても複雑怪奇にならない所だけだけど。)
0064デフォルトの名無しさんNGNG
>>63が良いこと言った!
0065デフォルトの名無しさんNGNG
イテレータがあればポインタいらない
0066デフォルトの名無しさんNGNG
>>63
でもCからC++に行った人で、「今までのやり方 != 使ってはいけない悪しきやり方」と
思い込む余りにC++の全てを覚えることに焦って破綻、ってパターンもあると思うが。
0067デフォルトの名無しさんNGNG
>>66
!= じゃなくて == だった。
0068デフォルトの名無しさんNGNG
>>63
「今までのやり方!=正しいやり方」はもちろん「近年のやり方!=正しいやり方」です、
こんなものは時代ととも学者が適当に理由をつけて代わる物だし、貴方も勘違いです、多分。
なお、ポインタを使うことにより、使わないよりスッキリしたプログラムを書くことができる場合
それを使わないで執拗にこだわれば、それは裸の王様という物です。
ポインタ演算がパフォーマンスのためだけにあると思うのであればそれは間違いなく勘違いでしょう。
0069デフォルトの名無しさんNGNG
ポインタはつかわない。
参照!コンテナ!イテレータ!
おわり。
0070デフォルトの名無しさんNGNG
>>68
釣られんなよC親父。
0071デフォルトの名無しさんNGNG
>>70
今さら「釣り」か。悔し泣きカコイイな( ´,_・・`)プッ
0072デフォルトの名無しさんNGNG
>>68==71
哀れだな。管理職にもなれず30歳定年説を覆しつづけて現場の若造から
ウザがられ続けているC親父というのは。
0073デフォルトの名無しさんNGNG
うわーわかりやすい。
「釣り」っていうごまかしを看破されて何も言い返せないもんだから、
苦し紛れの妄想を水増しして間に合わせてるよコイツ。
だっさ。
0074デフォルトの名無しさんNGNG
>>68==71==73
どうしてムキになっているのですか?
怖がらなくてもいいのにー:p
0075デフォルトの名無しさんNGNG
>>74
あー、今度は日下部の真似ね。よしよし。
でも下手糞w

さ、次はどうやって自分の火病をアピールする?
0076デフォルトの名無しさんNGNG
>>75
ご苦労様。うん、君が正しいね。よかったね。
0077!= 75NGNG
>>68
>時代ととも学者が適当に理由をつけて代わる物
学者の意見なんて誰も聞いていない。だいたい学者なんているの?
スパハカの人たちがテクニックを開発し、それが広まる。

>ポインタを使うことにより、使わないよりスッキリしたプログラムを書くことができる場合
C++では、そんな場合は、まずない。
そんなこと言ってるようじゃ、やっぱりC親爺とよばれても(ry
0078デフォルトの名無しさんNGNG
68 だけどね、普段からポインタを使っているわけではないよ、基本はスマートポインタだ。
いずれにしてもあんたらよりはC++を使いこなしている自信はあるよ。

>>77
>C++では、そんな場合は、まずない。
と思っているからいつまでたっても使えないのさ。
0079デフォルトの名無しさんNGNG
>いずれにしてもあんたらよりはC++を使いこなしている自信はあるよ。

へー。使いこなしてるんだー。すごいですねー。
スマートポインタですか。ふーん。
年を取っても若いものには負けてないんですね。

俺たちもがんばろうな。(w
0080デフォルトの名無しさんNGNG
>なお、ポインタを使うことにより、使わないよりスッキリしたプログラムを書くことができる場合

すまんが、コード例とかで示してくれんか。俺には思いつかんのであげ
0081デフォルトの名無しさんNGNG
68じゃないけど。こういう書き方ってどうなんだろ。

struct a_type
{
unsigned char a : 2;
unsigned char b : 4;
unsigned char c : 2;
}

void* const addr = (void*)0x420000;
reinterpret_cast<a_type*>(addr)->b = 0x1234;

すっきりしてないかも。

0082デフォルトの名無しさんNGNG
厨房の頃プログラミングしようと思って、VC++6買ったはいいが買ったその日に挫折した。
0083デフォルトの名無しさんNGNG
でも、今なら出来そうな気がする。。
あのときに買ったVC++6Proのアカデミック版、探してみよう。
0084デフォルトの名無しさんNGNG
>>81
a_type& a = *reinterpret_cast<a_type*>(0x420000);
a.b = 0x1234;
0085デフォルトの名無しさんNGNG
>>82
できるか!C++は数学と同じ積み重ねが必要なんだぞ!
0086デフォルトの名無しさんNGNG
VB→Delphi→C#と、それぞれ中途半端に積み重ねたので。
0087デフォルトの名無しさんNGNG
a_type& a = *reinterpret_cast<a_type*>(0x420000);
0088デフォルトの名無しさんNGNG
>>68はどこに逃げた?
プゲラって書いてもいいか?
0089デフォルトの名無しさんNGNG
>>88
あなた79?
反応もらえるような内容のあるレスじゃないと思うけど・・・。
0090デフォルトの名無しさんNGNG
>>85
本当か?
0091デフォルトの名無しさんNGNG
16 人中、1人の方が、「このレビューが参考になった」と投票しています。

似非オブジェクト指向開発者にお勧め, 2003/05/23
レビュアー: カスタマー   東京都 Japan
この本ほど素人から絶賛され,そうでない人から無視される本も珍しいの
ではなかろうか.ざっと見ただけでも,プログラミングパラダイムが完全に
1〜2世代前のものだということが伺える.10年前ならいざしらず,2000年
も過ぎた今になってもこのような本が絶賛される辺りに,日本のソフトウエア
産業の人材枯渇という深刻な問題が伺える.



ウホッ
0092デフォルトの名無しさんNGNG
スマートポインタはポインタの6倍遅い(boost::shared_ptr)
0093デフォルトの名無しさんNGNG
スマートポインタなんて循環参照も手動で解決しなきゃいけない糞ショボイもの使わないで、
GCライブラリ使おうぜ。w3mだって使ってるんだから。
0094デフォルトの名無しさんNGNG
>>91
何の本?
0095デフォルトの名無しさんNGNG
憂鬱
0096デフォルトの名無しさんNGNG
>>95
ありがとう、見てきた。マジだw
0097デフォルトの名無しさんNGNG
1人は本人だな
0098デフォルトの名無しさんNGNG
どんな本だか逆に読みたくなってきてしまった。きっと次に本屋でみたら買ってしまう
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881356194/ref=lm_lb_3/250-0725465-7120222
0099デフォルトの名無しさんNGNG
>>98
憂オブだな。いまのところOOを理解するのにこれが一番手っ取り早い。
俺は3回読んだ。
これに目を通さずして、OOを身につけたという人は、よほどのプロだと推測される。
0100デフォルトの名無しさんNGNG
似非オブジェクト指向開発者キタ━━━━(゚∀゚)━━━━ッ!!
0101デフォルトの名無しさんNGNG
まぁこの本はUMLで表記されていないというだけで
本質的なところは役に立つ、と推測される。
0102デフォルトの名無しさんNGNG
似非オブジェクト指向開発者2人目キタ━━━━(゚∀゚)━━━━ッ!!
0103デフォルトの名無しさんNGNG
まぁこれを読んで開発スタイルが変わったというわけではないが、
今まで何となくやっていた作業が明確に記されているという点は特筆される。
0104デフォルトの名無しさんNGNG
C++は簡単すぎるね。
もっともっと複雑な方が学習の楽しみが長く続いて良かった。
0105デフォルトの名無しさんNGNG
>>104
言語以外にも学習すべきことは山ほどあるので、まだお楽しみは続く。
UML2.0とか。
0106デフォルトの名無しさんNGNG
>>104
Modern C++ Designやboostのソースがスラスラ読めるって事ですか?
0107104NGNG
>>105
でもそれってC++に限定したことではないから
まあまあ面白いのは認めるが別の話ね

>>106
スラスラまでは読めないけど、なんていうのかな
もう新しいことを学ぶ面白さのピークの部分は過ぎちゃって
後は細かくてつまらないところが残っているという感じだな
最初にこのつまらない細かい部分に目が行くと
「C++は難しすぎ」という感想になるんだろうな
0108デフォルトの名無しさんNGNG
てゆーか、ろくにオブジェクト指向について考えないで
テンプレートとかの悪用および勘違い技術ばっかり身につけてる奴ってどうよ。
始めは継承もテンプレもなかったんだからオブジェクト指向がどんなもんかそこからわかるはずなんだが。
いや、別に使うなってことじゃないよ。
どうも変な方向で覚えてる奴が多いんだよな。
STLやらBoostやら覚えることにはやけに熱心だけど
肝心のオブジェクト指向はさっぱりわかってなくて
設計が絶望的にヘタクソってのがいてちょっと心配。
0109デフォルトの名無しさんNGNG
設計がうまくなるには経験と あと何が必要?
0110デフォルトの名無しさんNGNG
>>109
経験とちょっとかぶるけどカン。だろうね。

OO に限って言えば
よく「デザパタはコミュニケーションツールに過ぎない」って意見を見るけど
それは違うと思う。
デザパタを覚えていくと、そこに共通してある設計のセンスとかが汲み取れて
単純にゼロから経験するよりも、カンの働きが鋭くなるまでの道のりが短縮できると思う。
0111デフォルトの名無しさんNGNG
>>108
Genericsはオブジェクト指向ではない。有用性も和歌欄奴が吠えるな。
0112デフォルトの名無しさんNGNG
>>111
>>108さんが果たしてどうなのかってのはとりあえず別にして

>Genericsはオブジェクト指向ではない

C++ のテンプレートはもはや Generic programming の為だけのものではありませんよ。
0113デフォルトの名無しさんNGNG
>>112
オブジェクト指向でいくならJavaのようにシンプルにいったほうがいい、
テンプレート駆使してオブジェクト指向をすると変になるよ。
0114112NGNG
>>113
C++ はオブジェクト指向一本の言語じゃないんですよ。
C++ にとってのオブジェクト指向っていうのは、使える方法論の一つに過ぎないんです。

こういうと気分を害されるかもしれませんが

>テンプレート駆使してオブジェクト指向をすると変になるよ。

多分、OO も Generic programming も Generative もまだちゃんと理解されてないのだと思います。
私の場合は上記3つ+(昔からの)構造化の4本槍ですが、
何一つ変なことにはなってないです。
0115デフォルトの名無しさんNGNG
C++機能が足りねーよ。
とりあえず明日までにlambdaとプロパティつけてくれ。
この二つはテンプレートではちとキビシイ。
0116デフォルトの名無しさんNGNG
VBは難しすぎ
ってスレは需要あるかなぁ?
0117ルナちゃんNGNG
>>1
同意
0118デフォルトの名無しさんNGNG
>>114
>C++ はオブジェクト指向一本の言語じゃないんですよ
私もそう思うよ。
でもね、統一性のないのは良くないと思うな、そういうのは自分はいいと思っていても
はたから読むと恐ろしく読みにくいものです。
気づいていないのは自分だけですよ、てゆうかオレがそうなんで人のことは言えないんだが・・・

template を使って OO するなら、例えばガベコレのないC++のことですから、
これをスマートポインタにしたりとか型安全の範囲で使うのがいい。
たとえば型の写像を追うようなマネはするべきではないと思う。
しかし Generic programming を中心にすえるなら、それもありだよね。
0119デフォルトの名無しさんNGNG
> そういうのは自分はいいと思っていても
> はたから読むと恐ろしく読みにくいものです。

そりゃオブジェクト指向しかわかってない香具師にも
Genericsしかわかってない香具師にとっても恐ろしく読みにくいだろうな。
0120デフォルトの名無しさんNGNG
俺はガベージコレクタやスマートポインタが必要になるのは
設計が腐ってるからだとしか思えない。
0121デフォルトの名無しさんNGNG
>>120
俺はお前の設計論が腐ってるとしか思えないですよ。
なんでそんな考えに至ったのかその経緯をお教え願いたい。
0122デフォルトの名無しさんNGNG
>>121
ある程度まで単純なプログラム(といってもこれには現実的なソフトウェアの7割8割が含まれるような気がする)しか
組んだことなければ、そういう考えに至ってもおかしくない。

もっとももっと複雑な場合には参照カウント式スマートポインタとかだと中途半端だったりするのも事実。(帯に短し白線流し)

でも例外使うときは auto_ptr は使いましょうね。あれは俺の中では基本すぎてスマートポインタには入ってないんだけど。
0123122NGNG
最後の一行は >>120 へ向けての文でした。まぎらわしくてスマソ
0124デフォルトの名無しさんNGNG
スマートポインタも結構ややこしいし、
言語サポートガベコレ付き new と専用ポインタが欲しい今日このごろ
0125デフォルトの名無しさんNGNG
ガベージコレクションが必要ってことはどっかに漏れがあるってことで場合によっては危ないプログラムでは?
0126デフォルトの名無しさんNGNG
はあ?
0127デフォルトの名無しさんNGNG
いまやメモリリークしないアプリケーションの方が希少
積極的にガルベージコレクタを使うべき
0128江東支店NGNG
http://elife.fam.cx/a007/
0129デフォルトの名無しさんNGNG
>>121
クラスを作ると必ず依存関係ってものが生まれると思うんですよ。
基本的にnewで作ったときと同じクラスでdeleteをするようにすれば問題ないですよね。
で、複雑になるのが
ある一つのインスタンスを複数のインスタンスが必要としてるとき
ですよね。
これをスマートポインタとかいうただの実装技術で回避するのは少々強引ではないか。
ってことです。
明らかに設計段階で考慮するべきことではないか
っていいたいわけです。
0130デフォルトの名無しさんNGNG
>>129
よくわかんねー
じゃーどうやって回避すんの?
複数から参照される場合どうしたらいいの?
0131デフォルトの名無しさんNGNG
>>130
そこが設計の魅せ所です。
そこでわからないとか言わないでください。
解決方法はとりあえず二つは浮かぶでしょう。
一つは、必要とされる側を必要とする側より早く消すことができないような構造にしてしまうこと。
もう一つは、管理クラスを間において直接アクセスを許さない構造にすること。
です。
一つ目のやり方は必要とされる側が必要とする側より明らかに生存期間が長い場合です。
二つ目のやり方はどちらも生存期間がわからずその状態によって動作を変えるときです。
こんなんでどうでしょうか。
0132デフォルトの名無しさんNGNG
いやです。
0133デフォルトの名無しさんNGNG
>>131
スマートポインタを使ったほうがスッキリした構造になるんじゃねーの?
0134デフォルトの名無しさんNGNG
>>131
そういうやり方が有効な時もあるんだろうけど、
だからってスマートポインタ使った設計を否定しちゃいけないよな。設計云々語る以上さ。

っていうか、あんたの提示した「1つめのやり方」は曖昧だし、
他の要因次第で使えない可能性は高いよな?
で「2つ目のやり方」の場合、いつ誰がトリガーを押すのかが問題になる。
それは結局C++以前の「すべてプログラマが管理する」時代への逆行を意味するのでは?
これを解決しようとするとC++ではデストラクタ経由スマートポインタ行きの船に乗ることになる。

実装の前に設計なし、設計の前に実装なし。
とりあえず否定するまえに挑戦してみろ。
0135デフォルトの名無しさんNGNG
C++ 専門バカ
VB 業務で仕方なくやっている人
C ハード密着 又は 時代遅れの人
Java 普通の人
0136デフォルトの名無しさんNGNG
COBOLは?
0137デフォルトの名無しさんNGNG
winアプリを無駄なく構築できるのはC++。winグラマならC++は必須かつ基本的な知識。
0138デフォルトの名無しさんNGNG
>>134
また、わけがわからないこというなぁ。
じゃあ聞くけど設計って何するものよ?
破綻してる設計をどうしてスマートポインタなんかでごまかして満足なのよ。
スマートポインタが必要な時点で設計ミスってるってわかるでしょう。
実装と設計でどっちが優先かなんて馬鹿でもわかること説明させないでよ。

ね?設計が絶望的にヘタクソなくせにテンプレばっか熱心に覚える奴っているでしょ?
くすくすくすくす笑
この分じゃオブジェクト指向だって理解してねーだろ?
0139直リンNGNG
http://homepage.mac.com/maki170001/
0140デフォルトの名無しさんNGNG
すべての設計が完璧ならこの世はどれだけ幸せでしょう
0141デフォルトの名無しさんNGNG
> スマートポインタが必要な時点で設計ミス
これは大変興味があるところだ。
0142デフォルトの名無しさんNGNG
> スマートポインタが必要な時点で設計ミス
Javaはどう見ればいいんだ?
0143デフォルトの名無しさんNGNG
>>138=>>108 だね
テンプレートにやけに恨みがあるご様子。

>ね?設計が絶望的にヘタクソなくせにテンプレばっか熱心に覚える奴っているでしょ?
今までのやりとりでなんで、さも↑の証明が出来ただろ?と言わんばかりに勝ち誇れるのか解りません。
0144デフォルトの名無しさんNGNG
>>143
俺は設計がヘタクソなくせにテンプレを悪用してそれに気付かない奴が大嫌いなんだ。
0145デフォルトの名無しさんNGNG
来てね
ttp://ainenjyukai.hp.infoseek.co.jp/
0146デフォルトの名無しさんNGNG
オブジェクトに参照カウント機能を持たせるように設計した。
実装では参照カウントを自動でやってくれるスマートポインタを使った。


これは破綻している設計ですか?
0147デフォルトの名無しさんNGNG
>>142
スマートポインタはないでしょ。
0148デフォルトの名無しさんNGNG
>>137
MFC:無駄だらけ
WTL:なくなりそう…
0149デフォルトの名無しさんNGNG
設計 != >>138の脳内の設計の定義
に 10000GoF

>じゃあ聞くけど設計って何するものよ?
>スマートポインタが必要な時点で設計ミスってるってわかるでしょう。

どうやら>>138の脳内の設計とは
スマートポインタを使わずに済ますことらしい。
0150デフォルトの名無しさんNGNG
(´-`).。oO(・・・訳の解らんことを主張している>>138・・・)

(´-`).。oO(・・・>>138がオブジェクト指向理解してなさそう・・・)
0151デフォルトの名無しさんNGNG
>>150
きっと表現力で勝てない事をひがんでるJava厨だよ。

と、書くとJava使ってる人全般に対して喧嘩売ってるみたいに見えるから補足。
JavaもJava使ってる人も悪くない。悪いのはJavaが全分野でNo1じゃなきゃ気がすまない厨ね。
0152デフォルトの名無しさんNGNG
やっぱOOPLはSmallTalkが一番だと思うのですよ。
0153デフォルトの名無しさんNGNG
>>138
C++だけでなくJavaとかC#とかをやってみたらいいと思う、
多分、無理やりクラスとか使って、オブジェクト指向が解らないのが自分で解ってないんだと思う。
解れば別にスマートポインタがメモリー管理だけでなく、デストラクトの順序を保障するとか
もっともっと重要な部分が解ってくると思うよ。
みんな貴方が一番OOが解ってないと解ってるんだけど、貴方だけがわかってないみたいでちょっと見ていてイタイです。
0154デフォルトの名無しさんNGNG
OOPLでガベコレが無いのってC++くらいでしょ。
0155デフォルトの名無しさんNGNG
>>154
残念ながらC++はOOPLではありません。マルチパラダイム言語です。
0156デフォルトの名無しさんNGNG
>>154
Objective-C

広義のガーベジコレクションはあるけどね。
0157デフォルトの名無しさんNGNG
C++にガベコレは必要ない。
そもそもガベコレの無い言語は必要なのだ。

なぜならガベコレ自体をガベコレがある言語では記述できないから (つかしても意味が無いから
0158デフォルトの名無しさんNGNG
> そもそもガベコレの無い言語は必要なのだ。

だからといって C++ にガベコレが要らないというわけにはなりませんね。
0159デフォルトの名無しさんNGNG
>>158
じゃーmanaged C++使えばいいんでないの?ごめんなさいよく知りません。
もしくはBで始まるC/C++で使えるガベコレ導入するとか?ごめんなさいよく知りません。
0160デフォルトの名無しさんNGNG
managed C++は移植性可搬性に大きな問題がある。
Bで始まるガベコレは所詮ライブラリ。
0161デフォルトの名無しさんNGNG
C++(C)はポインタをかなり自由に使えるからごみ判別自体が難しいだろう
0162デフォルトの名無しさんNGNG
Bで始まるガベコレってコードが貧雑になるからやだ。
やっぱ言語自体が実装してくれないとね。
0163デフォルトの名無しさんNGNG
>>160
それは不思議な意見だ。
コンパイラの独自拡張に任せればどうやったって可搬性はなくなるし、
仕様に含めて強制すれば恐ろしくパフォーマンスを低下させる。
0164デフォルトの名無しさんNGNG
俺はガベコレは参照カウンタで十分だと思う
起きる問題って循環参照だけっしょ?
0165デフォルトの名無しさんNGNG
>>164
十分だと思う、それがあると構造のあるコンテナがまともに作れん。
0166デフォルトの名無しさんNGNG
>>163
いや、だから規約内でガベコレうまくやろうやって方向が正しいんじゃあ?

cyclic_shared_ptr はどうなの?誰かboost追っかけてる人の感想ラゴンヌ。
0167デフォルトの名無しさんNGNG
難しすぎなC++を理解し終わって
もっと機能が欲しいという人たちにこのスレは占拠されました。

C++を理解できない人たちはそもそも頭が弱いので反論もできません。
0168デフォルトの名無しさんNGNG
C使いとしては、>>1 に同意
難しいというより使いにくい。
0169デフォルトの名無しさんNGNG
C++は、難しいのではなく、複雑(煩雑)なのだと思う
つー訳で、STL使いたくない香具師は、STLを使わなければ良いだけだし
漏れみたいに、演算子のオーバーロードが、(便利な時もあるけど)あまり好きでない香具師は
演算子のオーバーロードを、あまり使用しなければ良いし
スマートポインタが…(略)
0170デフォルトの名無しさんNGNG
>>153
何度も言うけど設計の時点でミスってるものをなんで誤魔化そうとするものを使うの?
きちんと設計すればそんなものいらないでしょ。
こんな基本的なこともわからないで設計段階で何を考えてるのよ。
それと言語の性質みたいにいわないでよ。
JavaやC#を使うとインスタンスの依存関係も管理ができなくなるのか?
違うでしょ。
スマートポインタが必要ってのは明らかに設計ミスなんだよ。
最近の生成と破棄に関しての実装技術はなんか信用できない。
使ってもちっとも便利になった気がしない。
解決するべき問題が違う方向にいってる。
0171デフォルトの名無しさんNGNG
キター!

「スマートポインタが必要ってのは明らかに設計ミスなんだよ。」

の理由を述べてください。
もう前提条件が間違っているとしか言えません。
0172デフォルトの名無しさんNGNG
スマポって何ぞよ?
0173デフォルトの名無しさんNGNG
>>172
大乱闘スマッシュ○○ぽ…
0174デフォルトの名無しさんNGNG
オブジェクト自身にそれ自身の管理をさせる参照カウンタは設計ミスになりますか?
0175デフォルトの名無しさんNGNG
ここまでくると悲惨としか言いようがないな(^^;
0176デフォルトの名無しさんNGNG
参照カウンタの加減が間違ってる腐った実装ならあるかもしれないな。
0177デフォルトの名無しさんNGNG
設計ミスって言ってる時点で妄想家だよね。
0178デフォルトの名無しさんNGNG
「設計ミス」の定義が明らかでないと
「明らかな設計ミス」がどういうことだかわからん。
しかも「なんか信用できない」って激しく感覚的だな。
0179デフォルトの名無しさんNGNG
で、どうなのよ。本当に大手企業でも設計ミスしてないのか?本当は全部のプロジェクトで設計ミスは必ず1つはあrんじゃないのか
0180 NGNG
コンポーネントオブジェクトモデルとかインタフェイス志向のプログラムでは、
あるコンポーネントへの参照(あるいはインタフェイス)については「参照が
存在する」間は寿命が継続する、ということにしとかないとクライアント側が
いちいち実装についての知識を持つ必要があって面倒なわけで、そういったも
のを使うときはスマートポインタの類は便利だと思う。ダイナミックに委譲先
が生成・消滅する場合なんかもあるし。
0181デフォルトの名無しさんNGNG
設計ミスと言うより
設計当時の技術力の
限界といった方がいいね。
0182デフォルトの名無しさんNGNG
設計ミスねぇ

C++の言語仕様そのものが設計ミスだと思うけど
0183デフォルトの名無しさんNGNG
C++の設計は時代に合わない。
0184デフォルトの名無しさんNGNG
スマートポインタが無いと、インスタンスをnewしたブロックで
例外を吐きうる関数とか呼んだりする時、極めてめんどくさいんですが。
0185デフォルトの名無しさんNGNG
GCがあれば簡単に解決するのにね。
やっぱりC++は設計が腐ってるよ。
0186デフォルトの名無しさんNGNG
ガベコレを仕様に含めたC++<<<<<<<<<<<<<<<<<<<<<<<<<<<<Java
ガベコレを仕様に含めたC++<<<<<<<<<<<<<<<<<<<<<<<<<<<<今のC++
Java⊥C++
0187デフォルトの名無しさんNGNG
>>185
そのうち追加されるんじゃねぇの、16ビット時代の far near のように属性でもつけりゃ上位互換で拡張はできるし、
Microsoft 流に class に属性つけてもいいし、やり方はいくらでもあるし
個人的には細かめの機能で template を使って実装、小細工をユーザー側でてきるようなのがいいな。
0188デフォルトの名無しさんNGNG
追加されてもM$は絶対に無視するだろうなぁ
0189デフォルトの名無しさんNGNG
メモリ以外のリソースを掴むオブジェクトを扱う時は非同期ガベコレは会わない気が
0190デフォルトの名無しさんNGNG
ガベコレはメモリを扱うものですよ。
それ以外のリソースは関係ありません。

それ以外のリソースは今まで通りで、
メモリに対してアドバンテージがあるのです。
0191デフォルトの名無しさんNGNG
直感的にだが、デストラクタとガーベジコレクタって
共存させると、極めて煩雑になりそうな気がする...
0192デフォルトの名無しさんNGNG
>>190
リソースじゃなくてリソースを掴むオブジェクトの話だろ
ガベコレでオブジェクトが破棄されればそれが持ってるリソースも同時に開放されるだろ
0193デフォルトの名無しさんNGNG
まあ、M$的にはC♭移行を推奨して終了だろう。
0194デフォルトの名無しさんNGNG
C++の欠点はオブジェクトの管理よりテキストベースの#includeだと思うがどうよ。
privateなメンバを変更するだけで参照しているプログラム全部コンパイルしなおすのはかなり嫌だ。
実装をさらけ出したうえ、1メソッド=1機能にしようにも複数のメソッドに分割すればするほど再コンパイルの可能性が上がるし。
pImplイディオムとかしょうも無いことやら無きゃいけなくなる・・・
0195デフォルトの名無しさんNGNG
そんなあなたにD言語

と言いたくなるんだけど、正直Dってどうよ?
0196デフォルトの名無しさんNGNG
>>1
「げんあり」ってなに?
0197デフォルトの名無しさんNGNG
まだ知らない人もいるみたいなんで、これ貼っておきますね

Bjarne Stroustrup Interview about C++
http://hp.vector.co.jp/authors/VA000092/jokes/strup.html
0198デフォルトの名無しさんNGNG
197=最近知って嬉々として貼り付けてます
0199デフォルトの名無しさんNGNG
C++が難しいんじゃない
VC++が糞なだけだ
0200デフォルトの名無しさんNGNG
VC++のクソな原因をあげたら
それはC++がクソなせいというオチ
0201デフォルトの名無しさんNGNG
VC++が糞なのはMFCが糞だからだ
0202デフォルトの名無しさんNGNG
>>192
でも、ぼくはガーベジコレクションが走るまでリソースを確保しっぱなしに、なんてできないんです。
0203デフォルトの名無しさんNGNG
BCBはうんこしないよ
0204デフォルトの名無しさんNGNG
>>194
いまさらincludeを無くすという訳にもいかんだろうし、やるとしたら
プリコンパイルヘッダの規格化が良いと思う。
0205デフォルトの名無しさんNGNG
>>194
ヘッダファイルまとめてインクルードしてない?
0206デフォルトの名無しさんNGNG
お母さんには内緒です。
★☆見られるのはちょっと恥ずかしいけど、、、★☆
http://endou.kir.jp/akira/linkvp.html
0207デフォルトの名無しさんNGNG
今更っぽいけど、「スマートポインタが必要な時点で設計ミス」
というのは結構賛成。本当の意味で、対等に共有されている
オブジェクトというのも存在するけど、基本的には、オブジェクトが
誰の下請けとして動いていて、誰と心中すべきかということは
はっきりしているでしょ。意味論的に死ぬべきオブジェクトが、
間違って参照されていて、たまたまそれで動いていても、
それはバグであって、GCがあると単に落ちないだけ。
だから、auto_ptrは使うけど、shared_ptrとなると、vectorに
突っ込む場合に使う程度で、積極的に使うことはほとんど無かったり。
0208デフォルトの名無しさんNGNG
>>207
激しく同意
0209デフォルトの名無しさんNGNG
>>203
BCBってあのC++にはない拡張構文をふんだん使ったあれ?
完全C++ライブラリのOWLが死んで、
C++に(ついでにobject pascalにも)ないclosureという
デリゲートもどきプロパティもどきやAnsiStringを使いまくった
VCLが生き残っているのは皮肉だな。

結論、C++はクソ
0210デフォルトの名無しさんNGNG
>>207
そんな所有関係がはっきりしているような状況はそもそも話題にもなりゃしないだろ。
あくまでオブジェクト同士が対等の場合の話に限るべき。
0211デフォルトの名無しさんNGNG
開店セール見に来てーーーーーーーーーー!DVDを見ようー!GO!
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
開店セール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
>>212
可読性はあがんねーだろ?
現状、Boost知らない奴のが多いんだから。
0214デフォルトの名無しさんNGNG
C++厨って技術先行型だね。
用途は無視してとりあえず作ってみました。
使ってね。って感じ。

「Longhornではインドウがグニャグニャ動いてすごいだろ。」
「それをなんに使うの?」
「・・・」
と同じ感じがする。
0215デフォルトの名無しさんNGNG
生成したらキッチリどこで削除されるのか把握するのがプログラマだろが。smartpointerなんか使うな。デフォルトのポインタで勝負しろ。
0216デフォルトの名無しさんNGNG
なんかもう自作自演が始まってるから相手にしないほうがいいよ
0217デフォルトの名無しさんNGNG
>>214
ダブルバッファリングになって3Dアクセラレータが使えるようになっただけだっけ?
凝ったことするとゲーム屋ご用達になるけど基本は変わらないでしょ?
GUIまわりだけ?
0218デフォルトの名無しさんNGNG
こんな煽りスレが勢いよく伸びていること。
その一方で、C++相談室は、荒れもせずもくもくと進んでいること。
この2つを見ただけで、C++という言語の性質がわかるような気がする。
0219デフォルトの名無しさんNGNG
>>215
GCでは使用されなくなったらGCが起動した時点で削除されます。

あなたはどこで削除されるのか分からないのですか?
GCぐらい使いこなしましょう。
0220デフォルトの名無しさんNGNG
>>219
アホか。GCにたよらないとリーク起こすようなプログラムを書く詰めが甘い奴はプログラマ辞めろってこと。
0221デフォルトの名無しさんNGNG
対等のオブジェクトの相互参照をGCを使わずスマートかつエレガントに実装してみてくれ。
0222デフォルトの名無しさんNGNG
>>221
散々でている参照共有スマートポインタがそれなのでは?
0223デフォルトの名無しさんNGNG
>>220
えぇそういうプログラマは辞めたほうがいいですね。
同時にGCの便利さが分からないプログラマも辞めたほうがいいです。

ちなみに私はGCに頼らなくてもリークを起こさないプログラムを書けて
GCの便利さを認めています。

もしかしてあなたはプログラマ失格者ですか?
0224デフォルトの名無しさんNGNG
>>222
あれじゃスマートかつエレガントに実装できない。
0225デフォルトの名無しさんNGNG
>>222
ゴメン、参照共有スマートポインタってなに?
0226デフォルトの名無しさんNGNG
>>221
対等のオブジェクト同士を無理に関連づけようとするからうまくいかないんだよ。
上の方でだれかがいってた、一つ上に管理クラスを用意する方法が一番綺麗じゃないかな?
0227デフォルトの名無しさんNGNG
それがガベージコレクタじゃねーの?
0228デフォルトの名無しさんNGNG
>>225
誰もアクセスしなくなったあるオブジェクトを自動的に削除するために
そのあるオブジェクトを生成すると同時に削除用オブジェクトを生成する、
そこには参照カウンタなるものがあって、参照する人が一個増えたらカウントアップ
減ったらカウントダウン、でカンウタが 0 になったら、そのあるオブジェクトを削除して
削除用も自滅するって感じかな。
= オペレータをオーバーロードして、ポインタがコピーされたときに参照カンウタをいじくる仕掛け。
-> オペレータもオーバーロードしてあって、見掛けは普通のポインタ。
Pythonの簡易ガベコレの実装がそうだって聞いているけど詳しいことは知らない。
完全にメモリーリークを防げないのでガベコレとは言えないかも。
0229デフォルトの名無しさんNGNG
対等のオブジェクトの相互参照?
class unko
{
public:
unko* p;
};
unko* u1,*u2;
u1=new unko();
u2=*u1;
u1->p=u2;
u2->p=u1;
ってこと?
0230デフォルトの名無しさんNGNG
メモリリークなんてVCにみつけてもらってるよ
0231デフォルトの名無しさんNGNG
>>230
サンクス。一つ賢くなった。
0232231==225NGNG
(;´Д`)誤爆
>>230×
>>228○
0233229NGNG
まちがった。
0234デフォルトの名無しさんNGNG
デリートすんのめんどいからshared_prtr
でもいくらめんどうでも、GCはどうだろう?
パフォーマンスにそれほど影響なければ入れてくれ。
0235230NGNG
>>231
まちがってなーい!
なに×つけてんだゴルァ!
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デフォルトの名無しさんNGNG
もしかして236みたいな奴ってあるタイミングで一番上にあったスレに自動で貼られるのか?
0238デフォルトの名無しさんNGNG
>>36
> アメリカのアホーにも載ってない言語誰が使うかと。
> ネタにマジレス。
JavaがだめになったらC#に移行するという考え方が現実的でない
ということだろ。だめになったらむしろC++かD言語に移ったほうが
特定環境への依存度を控えめにすることができるってことだろ。

どこかに知られている知られていないを基準にして受動的に言語を選ぶなよ。

>>48
>Java も C# も D も上っ面は似てるけど、対応分野が違うし、
>(特にJavaは次世代COBOLの座が確定状態な上に
これは悪い意味で言っているのか良い意味で言っているのか激しくよくわからん。
「COBOLのシェアを奪う」ので良い意味なのか、
「COBOLと同じようにスパゲティコード吐きまくって
嫌われる言語になる(おれにはとてもそうは思えん。
それだったらC++のほうがよっぽど嫌われやすい)」びで悪い意味なのか
よくわからん。
0239デフォルトの名無しさんNGNG
>GenericsがあれではC++で培われたテクニックが何も使えん)
JavaでGenericsを使うにはCollection系の型キャストの問題を
解決できれば十分で、それ以上のスパゲティ化につながる
C++独自のtemplateのテクニックの必要性を感じないと思うがどうよ。

10年経ったら「Javaは遅い」ともさすがに思わないだろうし
C++の必要性も、ソースコードを汚してまで
細かいポインタ演算や細かいメモリ管理をしてまで使うことも少なくなり
淘汰されると思うが。

うーむ、これはC++信者に対する煽りなのだろうか?
それでもJavaの速度に不満があるなら(10年計画で)独自のJavaChipを自作するなり
C/C++/アセンブラなどを使ってJVMを独自に改造するなりしてパフォーマンスをあげてみるのがいいんじゃないかな。

これからのプログラムは、各CPUにあわせてその場でコンパイルして実行する形式
になる、それでいいんじゃないかと。
0240デフォルトの名無しさんNGNG
>>105
> >>104
> 言語以外にも学習すべきことは山ほどあるので、まだお楽しみは続く。
> UML2.0とか。
UMLは使うだけなら「学ぶ」ほどのものではないと思われ。
しかしUMLの資格試験を取るなら学ぶしかない。
0241デフォルトの名無しさんNGNG
>>108
同感。C++の余計な機能はおまけとして学んでおいて
Javaでもできることもちゃんと学べよ。
0242デフォルトの名無しさんNGNG
>>98
結城浩の「デザインパターン」本のほうが
オブジェクト指向を素早く理解できそうな気がするが。
0243デフォルトの名無しさんNGNG
>>114
> C++ にとってのオブジェクト指向っていうのは、使える方法論の一つに過ぎないんです。
その「オブジェクト指向」による再利用性、拡張性、移植性を無視した
C++プログラマがわんんさかいて後継者が大変な思いをしているんだよ。
0244デフォルトの名無しさんNGNG
10年たってもクライアントサイドでのJavaのシェアはきわめて0に近い悪寒
速度以前に改善すべき点があるんじゃないのか?
0245デフォルトの名無しさんNGNG
>>218
> こんな煽りスレが勢いよく伸びていること。
> その一方で、C++相談室は、荒れもせずもくもくと進んでいること。
> この2つを見ただけで、C++という言語の性質がわかるような気がする。
どういう性質なのかあなたの意見を聞いてみたい。
おながいしますわ
0246デフォルトの名無しさんNGNG
>>244
> 10年たってもクライアントサイドでのJavaのシェアはきわめて0に近い悪寒
> 速度以前に改善すべき点があるんじゃないのか?
じゃ、D言語を普及させておくれよあんた。
C#なんかに乗せられたくないし。
0247デフォルトの名無しさんNGNG
>>188
> 追加されてもM$は絶対に無視するだろうなぁ
M$の流れに合わせる必要があんのかと小一時間
M$に自分の将来を左右される必要があるのかと小一時間
0248デフォルトの名無しさんNGNG
このスレでわからない単語
template
スマートポインタ
GC
STL
Generic programming
...

おまいら日本語しゃべってください
0249デフォルトの名無しさんNGNG
>>248
マジレスすると、無視しても何の問題もないよ。
0250デフォルトの名無しさんNGNG
>>244
> 10年たってもクライアントサイドでのJavaのシェアはきわめて0に近い悪寒
JavaWebStartで自動ダウンロード、自動インストールが売りだと思う。
J2EEと連動しないと動かないクライアントサイドJavaプログラムを
作ってしまえば普及するかな。かえって普及しなくなるかな。

> 速度以前に改善すべき点があるんじゃないのか?
しかし、これは釣りか?
実際シェア0ってことがあるのかと問い詰めてみたいものじゃ。

改善すべき点と何かね? C#厨がJavaと比較してC#の宣伝に使っている
あの中途半端な変な機能をJavaに追加するんならばC++やったほうがいい
ともいえるが、そういうものでもないかね?

それとも、JavaはもっとSmalltalkライクな言語にすべきかね?
0251デフォルトの名無しさんNGNG
>>248
日本語に翻訳したらかえって分かり辛くなる気がする
0252デフォルトの名無しさんNGNG
>>243
C++にもクラスライブラリーを揃えてOOをしようという動きはあったんだが、
とこが、STLをみて考えが変わってそのライブラリーは捨てられ、そしてSTLが標準になって今に至ったんだと。
C++でクラスライブラリーを作っても使い物にならないという結論となった。

っていう話を聞いたことがある。
0253デフォルトの名無しさんNGNG
>>195
> そんなあなたにD言語
> と言いたくなるんだけど、正直Dってどうよ?
C++やJavaがだめになったらC#に以降だなんて最悪。
M$に左右されてversion upするたびにソースコードを無駄に改変する手間は
かけたくない。そんなときD言語に期待。
0254デフォルトの名無しさんNGNG
>>252
標準に仮想デストラクタを持った基本クラスを決めてくれてれば
いろんなところが便利になったんじゃないかと思う。
0255デフォルトの名無しさんNGNG
C#やJavaよりCやC++のほうが超絶に簡単だと思うんだが・・・。
色々な情報に惑わされてねーか。
あとC++とC#とJavaでは用途が違うんでねーか・・・。
0256デフォルトの名無しさんNGNG
>>248
検索するしかないのう。
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
>>255
初心者がC/C++の本を読んだら、実際に動かしたときに
ポインタ演算のところとエラーメッセージのわかりにくさと
バッファオーバフローの判別のしにくさなどで
ひるんでしまいそうだが。
0258デフォルトの名無しさんNGNG
>>255
「マイクロ」が付く2つの会社にだまされているのですか?
0259デフォルトの名無しさんNGNG
C++はさぁ、
一番最初に

#include ...
#include ... // この辺は簡単に理解できる

using namespace std; // まったく理解不能

int main() // Cで関数の知識が無いと理解不能
{
 cout << "Hello World!" << endl; // いきなり行儀の悪い演算子オーバーロード、まったく理解不能。
                  // しかもまともな説明なしであっさり通り過ぎる
}


拒絶反応起こすって
0260デフォルトの名無しさんNGNG
>>255
JavaやC#の利点はObjectクラスの存在だと思うわけよ。
すべてのクラスの頂点(親クラス、基底クラス、スーパークラス)は
森羅万象を構成するObjectクラスなのさ。

しかし使い方を誤るとVBのバリアントやperlの型の曖昧さのように
恐ろしいものになる諸刃の剣。しかしこれも次期JavaのGenericsで解決。
C#も時期に解決するらしい。
0261デフォルトの名無しさんNGNG
>>259
別にK&RのHello Worldでいいじゃん、C++なのだから stdio.h を使っていけない理由はない。
むしろ最初は便利なCで勉強するのが正しい。
ついでその main は C++としては間違っている。
0262デフォルトの名無しさんNGNG
>>259
> C++はさぁ、
> 一番最初に
>
> #include ...
> #include ... // この辺は簡単に理解できる
>
> using namespace std; // まったく理解不能

import javax.servlet.*;
import org.jakarta.....
.とか出たら同じように最初は誰でも混乱すると思うがどうよ?

> int main() // Cで関数の知識が無いと理解不能

JavaやC#にもおまじないのように
public class { public static void main(String[] args)
とある(C#は若干異なる)んだから
おんなじだとおもうんじゃが。
しかし return 0 や getchar() は初心者には理解不能だと思う。


> {
>  cout << "Hello World!" << endl; // いきなり行儀の悪い演算子オーバーロード、まったく理解不能。

しかし、これはつかわずprintf()やputs()をつかっちゃえばいいじゃん?
と思うがどうよ?
C++の書籍にはたいていこういうのが載っているけどさ。
0263259NGNG
>>261
え゛っどっか間違ってた?
0264デフォルトの名無しさんNGNG
STLなんて思いついたときに使えばいい、クラスもなんも知らないうちから
そんなもん持ち出すな、っていうか教本が悪いんだけどな・・・。
0265デフォルトの名無しさんNGNG
C++は急ぎすぎる教本が多いのは確かだな
0266デフォルトの名無しさんNGNG
CやC++でわからなくてJavaやC#ならわかるのかよ・・・。
どうせファンクションキーでも押してヘルプ読むんだろ。
0267デフォルトの名無しさんNGNG
>>262
import java.lang.*;
とか
using System;
とかならまだわかりやすいんだよ。
問題はnamespace。
慣れればなんてこと無いけど、はじめは何じゃそりゃって感じ。
0268デフォルトの名無しさんNGNG
namespaceなんぞ知らなくてもC++のプログラムは書ける。
つーか、.NETにもnamespaceあるんじゃねーの?
0269デフォルトの名無しさんNGNG
>>268
using namespace std;
    ↑このnamespaceのことのつもり
0270デフォルトの名無しさんNGNG
>>269
そんなものが気になるのはあんただけだと思うよ(汗
知らない人なら、一個増えても変わらない。
0271デフォルトの名無しさんNGNG
えー、じゃあ using std; なら納得すんの?
0272デフォルトの名無しさんNGNG
>>267
Javaではnamespaceの代わりにキーワードにpackageを使用し、
UMLでもJavaに習ってpackageという用語を使っているのもかかわらず

C#はJavaより後発でありながらなぜかいまだにnamespaceというキーワードを
使っているようじゃ。

M$はあれでC++プログラマをJavaではなくなんとか
C#にひきつけようとしたつもりだったんだろうか。

それともXMLの "名前空間" の真似でもしてるんだろうか?

俺もC++の本を読んでnamespaceの項を読んでみたら
クラススコープの外側にnamespaceというスコープによる厨括弧がついて
なんじゃこりゃ?

っておもった。確かにJavaのpackageのほうがわかりやすい。
ひとつのディレクトリ==ひとつのpackageとし、
ひとつのファイル内には二つ以上のpackage宣言をつけることを禁止し、
package宣言はそのファイル内になるすべてのクラスに適用されるという
すっきりきれいさっぱりしたJavaの発想(元がJavaの発想?)はわかりやすい。

namespaceは変な使い方をすると括弧の数が増えて混乱するといえば混乱しちまいますな。
いくらJavaより制限をゆるくしたといっても反ってソースコードを汚しちまいかねないな。
0273デフォルトの名無しさんNGNG
using std;
だとstdという名前の機能を使う、っていう風に解釈して(正確ではないが)自分を納得させられる。

おまじないって、よく、できる奴が出来ない奴に教えるときに使うけど、
教えられてる側からすると流れがつかめなくなってかえって混乱することもある。
0274デフォルトの名無しさんNGNG
C#もnamespace は中括弧囲ってあるが別に読みにくくはないよ。
馴れのせいだと思う
0275デフォルトの名無しさんNGNG
なんだ、あれか、言語の完成度や数学的な芸術性を求めてるわけか?
0276デフォルトの名無しさんNGNG



あああああああああああああああああああああああああああ
0277デフォルトの名無しさんNGNG
あ〜あ
火病になった、荒らすなよ(藁
0278無料動画直リンNGNG
http://homepage.mac.com/miku24/
0279デフォルトの名無しさんNGNG
>namespaceは変な使い方をすると括弧の数が増えて混乱するといえば混乱しちまいますな。

いいかい。最初から最後まで、括弧の数は増やしちゃいけないんだよ。
小学校でそう教わらなかったかい?
おまえみたいな奴は、namespaceとか言う前に、ループだのifだので
ふかーいインデント出しまくりなんだろ。
おまえみたいなド素人がコードを書くから混乱するんだよ。
0280 NGNG
>>261
>別にK&RのHello Worldでいいじゃん、C++なのだから stdio.h を使っていけない理由はない。

cstdio じゃない?
028148NGNG
>>238
>>Java も C# も D も上っ面は似てるけど、対応分野が違うし、
>>(特にJavaは次世代COBOLの座が確定状態な上に
>これは悪い意味で言っているのか
YES, 存在意義上、馬鹿を受け入れる言語(COBOL, VB の仲間)にならざるを得ない…
……とこのスレを見てるとJavaはもう馬鹿を受け入れてるみたいだが。

>>239
>>GenericsがあれではC++で培われたテクニックが何も使えん)
>JavaでGenericsを使うにはCollection系の型キャストの問題を
>解決できれば十分で、それ以上のスパゲティ化につながる
>C++独自のtemplateのテクニックの必要性を感じないと思うがどうよ。
知らないことを全て否定するな。GenericsはGeneric Programmingはできても
その先ができない。その先はスパゲッティだという根拠を示して!
(示してくれないと、スパゲッティになってるのは、未知の存在に怯える君の思考だっていう結論に達するよ)

>C++の必要性も、ソースコードを汚してまで
>細かいポインタ演算や細かいメモリ管理をしてまで使うことも少なくなり
>淘汰されると思うが。
ネイティブ吐ける言語は何か一つは必要。これからはCとC++の親子ガチ勝負がはじまる予感。
この試合は長引けば長引くほどC++有利になるからCは早期決戦で勝つしかない。

>独自のJavaChipを自作するなり
Java成立当初の話とか知らない?結局 JVM ネイティブなチップは性能上不利って結論。
「バイトコードの仕様」っていう足枷があるかぎりそうじゃないチップに絶対に勝てない。





0282実は48==114NGNG
>>242
>> C++ にとってのオブジェクト指向っていうのは、使える方法論の一つに過ぎないんです。
>その「オブジェクト指向」による再利用性、拡張性、移植性を無視した
>C++プログラマがわんんさかいて後継者が大変な思いをしているんだよ。
君、後継者なんでしょ?多分立場は俺と同じ。「君がやるんだよ。」
もしかして30前後の人達にOOのスペシャリストである事を期待してる?
無理無理。みんなCで入って、C++使い始めた人達で、この人たちが
Cしか認めんっていう人達と戦ってくれたから、今の俺たちの土俵があるんだよ。
次は俺たちがやる番。
そうそう、たしかにこの世代の人達ってSTLに対しては妙に興味津々だったりするね。
で、OOのテクニックが未熟なままGeneric Programming先行してたりするのが許せないのかな?
どちらにしても、俺たちが変えなきゃ変わらないし、
別にテンプレートのテクニックが悪いわけじゃない。時代と環境が違うだけなんだ。
戦う相手を間違っちゃいけないよ!!
0283デフォルトの名無しさんNGNG
本質的な相違はライブラリに関する価値観でしょ。
C++ではライブラリは常に一から書き直してナンボという立場をとる。
Javaではその対極で一度書かれたライブラリは書き直される必要など無い
という考え方をとる。
0284デフォルトの名無しさんNGNG
>>279
> >namespaceは変な使い方をすると括弧の数が増えて混乱するといえば混乱しちまいますな。
>
> いいかい。最初から最後まで、括弧の数は増やしちゃいけないんだよ。
> 小学校でそう教わらなかったかい?
> おまえみたいな奴は、namespaceとか言う前に、ループだのifだので
> ふかーいインデント出しまくりなんだろ。
> おまえみたいなド素人がコードを書くから混乱するんだよ。
それをいうならC#を作ったマイクロソフトに言えド素人。
俺様はStateパターンなどを使って無駄なインデントを極力減らす努力を
怠っちゃいねえんだよオブジェクト指向のド素人が。

0285デフォルトの名無しさんNGNG
C++が腐っているせいで
long longなんてネタみたいな
型が出来てしまった(w
0286デフォルトの名無しさんNGNG
> Javaではその対極で一度書かれたライブラリは書き直される必要など無い
> という考え方をとる。

java.nio

これは何だ!正直に父さんにいってみなさい!
0287デフォルトの名無しさんNGNG
>Stateパターンなどを使って無駄なインデントを極力減らす努力

OO ってインデントを浅くするためのテクニックだったのか
知らなかった。
0288デフォルトの名無しさんNGNG
C#のnamespaceは入れ子にする必要が無いからカッコは最大でも1個しか増えないぞ
0289デフォルトの名無しさんNGNG
ダブルディスパッチって何のためにする必要があるの?
0290デフォルトの名無しさんNGNG
>>288
オブジェクト指向を使って少しでもインデントを減らす努力を日々怠っていない
Java の達人達にとってはその1個も許せないみたいだよ。
一緒にJavaのオブジェクト指向の達人とは一緒に仕事したくないね。
0291デフォルトの名無しさんNGNG
>>289
馬鹿には読めないコードを作るため
0292デフォルトの名無しさんNGNG
Stateパターンなんて無駄な派生クラスが増えるだけ
0293デフォルトの名無しさんNGNG
まだやってたのかこのスレは?
学生っぽい能書きが多くてうざったくね?
C++が難しいなら、できる人を雇ってもらえよ。
じゃなきゃ外注にだせ。
0294デフォルトの名無しさんNGNG
Stateパターンってどこが状態遷移の管理すんの?
どうもそこらへんがめんどーなんだけど。
0295デフォルトの名無しさんNGNG
>>293
外注→害虫
0296デフォルトの名無しさんNGNG
>>287
お!それいいな。
そんで、構造化プログラミングがインデントを深くするための方法?

意外とただしいかも。
0297デフォルトの名無しさんNGNG
で、おすすめの書籍は?
0298デフォルトの名無しさんNGNG
>>297
断然モダC++なわけだが何か?
0299デフォルトの名無しさんNGNG
http://www.genpaku.org/realprogrammerj.html
>本物のプログラマは構造化プログラミングを共産主義者の陰謀だと考えている
0300デフォルトの名無しさんNGNG
>>281
> >>238
> >>Java も C# も D も上っ面は似てるけど、対応分野が違うし、
> >>(特にJavaは次世代COBOLの座が確定状態な上に
> >これは悪い意味で言っているのか
> YES, 存在意義上、馬鹿を受け入れる言語(COBOL, VB の仲間)にならざるを得ない…
> ……とこのスレを見てるとJavaはもう馬鹿を受け入れてるみたいだが。
しかしだな。C++はポインタ演算馬鹿を受け入れる以上悪い意味でCOBOL同様
嫌われる存在にならざるを得ない。
……とこのスレを見てると抵抗勢力C++はもうスパゲティ馬鹿を受け入れてるみたいだが。
0301デフォルトの名無しさんNGNG
C++プログラマはニクソン大統領みたいなものだ。

ニクソンのせいでその後の大統領が大変な後始末を強いられるわけだ。
迷惑としか言いようがない。
0302デフォルトの名無しさんNGNG
> C++はポインタ演算馬鹿を受け入れる
受け入れてません。それはC親父です。

とこのスレを見てると C++ を理解できなかったかわいそうな人は分身の術とか使えるみたいだが
0303デフォルトの名無しさんNGNG
>>302
> > C++はポインタ演算馬鹿を受け入れる
> 受け入れてません。それはC親父です。
アホですか。受け入れることができるように設計されているわけだが。
C#もな。
0304デフォルトの名無しさんNGNG
C++はOSやVM生成専用言語で十分。
それ以外の用途に何が何でもC++を使いたいという香具師は
もはや時代遅れ。
030510年後の現実NGNG
Javaは事務処理専用言語で十分。
それ以外の用途に何が何でもJavaを使いたいという香具師は
もはや時代遅れ。
0306デフォルトの名無しさんNGNG
> アホですか。受け入れることができるように設計されているわけだが。
> C#もな。
構文糖衣厨キター
0307デフォルトの名無しさんNGNG
JavaはC++で作られています
0308デフォルトの名無しさんNGNG
そう思っていたい>>304なのでした
0309バファリンのCMよりNGNG
バッファの半分は領域破壊チェックの為に確保されています。
0310デフォルトの名無しさんNGNG
>>309
座布団。
0311309(庶民派高級風レストランチェーン)NGNG
>>310
貰えるの?抜かれるの?
0312デフォルトの名無しさんNGNG
C++普通に使うにはそんな糞でもないでしょ。
ただ人が書いたのを何とかする時に面倒なだけで。
0313詩想NGNG
http://floatin-web.hp.infoseek.co.jp/sisou.shtml
俺のHPだ、カッコイイだろ、イカスだろ、ナイスだろ
お前ら雑魚のHPとは大違いだろ
俺は今からお前らオタッキー2chネラー全員に県下を挑む
俺のHPの特に掲示板あたりをあらせるもんなら荒らしてみろ
荒らせないで、「めんどい」「厨だな」とかいったら負け犬とみなす
悔しかったら荒らしてみろや、一人じゃあ何も出来ない2chネラー諸君
このことは2chネラー同士でどんどんうわさながしていいよ
お前らオタクが何人でかかってこようとも俺には勝てないってことを教えてやるさ
ギャハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハ
プ
せいぜ、負け犬なりにがんばりな
荒らせたら土下座してあやまってやらぁ
プ
0314デフォルトの名無しさんNGNG
どの言語もアホが書くと最悪。それとGCいらん、負の発明、悪の枢軸。
デバッグしながら編集できないVB.NETはいらん、VB6のほうがマシ。
C++はCの文法で書きつつ必要なときにクラス使う程度が便利。
0315デフォルトの名無しさんNGNG
>デバッグしながら編集
こういう事やってる時点でショボイプログラマ確定
0316デフォルトの名無しさんNGNG
>>302
ポインタにやけに恨みがあるようだがC++はポインタを明らかに受け入れているよ、受け入れられないのは
あ・な・た

なんで最近になって int32_t といったポインタ演算をする為だけといって過言で無いサイズ固定化した型をわざわざ規格化したか解るか?
必要なんだよ、ポインタ演算は。
0317デフォルトの名無しさんNGNG
>なんで最近になって int32_t といったポインタ演算をする為だけといって過言で無いサイズ固定化した型をわざわざ規格化したか解るか?

はぁ?コイツは馬鹿ですか?
0318デフォルトの名無しさんNGNG
「C++ は習得コストがむちゃくちゃ高い」のは真だと思うが、
「C++ の開発コストがむちゃくちゃ高い」のは偽だと思う。

C++ に対する毀誉褒貶は、「むちゃくちゃ高い習得コスト」を払ってしまった人か、
そうでない人かでわかれる気がするんだけど、どうだろう?
0319デフォルトの名無しさんNGNG
>>316
> なんで最近になって int32_t といったポインタ演算をする為だけといって過言で無いサイズ固定化した型をわざわざ規格化したか解るか?
そいつは標準Cだし。規格上は標準C++じゃ使えないし。
ポインタ用なのはそれじゃなくてintptr_tとuintptr_tだし。
0320デフォルトの名無しさんNGNG
>>318
> C++ に対する毀誉褒貶は、「むちゃくちゃ高い習得コスト」を払ってしまった人か、
> そうでない人かでわかれる気がするんだけど、どうだろう?
激しく同意せざるを得ない。
知らない(知る気がない)=できない
と即断してしまう人はもったいない。

ところで毀誉褒貶(きよほうへん)が読めなかったです。<ヘタレ
0321デフォルトの名無しさんNGNG
「憂鬱」はみなさん的にどうなの?
俺的は文章はともかく、サンプルコードで激しくひいてしまった感じなんですが。
0322デフォルトの名無しさんNGNG
C++だと思うと難しい。Cだと思えば便利この上ない。
但し他人のソースが読めない罠。
0323デフォルトの名無しさんNGNG
憂鬱は簡単だけど内容もいい。サンプルコードなんてたいした難しいの無かったと思ったが。
0324デフォルトの名無しさんNGNG
つまらない手順書き(下っ端コーダ)としての毎日が、
C++のおかげで謎掛けのようなコーディングを楽しむささやかな毎日にかわりますた。
0325デフォルトの名無しさんNGNG
>>323 = 似非オブジェクト指向開発者
0326デフォルトの名無しさんNGNG
>>321
憂鬱はいい本だと思う
0327デフォルトの名無しさんNGNG
オブジェ苦闘嗜好
難しすぎ・・・
0328デフォルトの名無しさんNGNG
>>321
今読み返したけど、やっぱり難しいコードなんてないじゃん。
0329デフォルトの名無しさんNGNG
>>328
難しいから駄目なんじゃなくて、
糞だから駄目なんじゃないの?
0330デフォルトの名無しさんNGNG
憂鬱はおいらのバイブルさ。
0331デフォルトの名無しさんNGNG
「憂鬱」を理解できなくてあばれてる奴って、一人だけだろ。
0332デフォルトの名無しさんNGNG
憂鬱って今から読み返して見ると基礎の基礎だね。
ほんと入り口にすぎない。
実際あのように考えてやってたらうまくいかない。
デザパタの理解しつつ応用力つけるほうが大事だと思った。
0333デフォルトの名無しさんNGNG
OOを始める上で最初に読むには良い本。
いきなりGoF本読んでもその場では理解できても、
実際にプログラム作るとなるとうまく活用できないだろうし。
0334デフォルトの名無しさんNGNG
だね。憂鬱はクラスの存在価値を知るための本として読んだほうがいい。俺もこれを読むまではなんでクラスが必要なのかわからなかったから。
0335デフォルトの名無しさんNGNG
> 俺もこれを読むまではなんでクラスが必要なのかわからなかったから。
えっ? 高校のときのオレでさえ分かったのに。
参考書はTurbo C++(DOS)のマニュアルくらい。
0336デフォルトの名無しさんNGNG
誰でも初心者のときに読んだ本はたいてい良本だと言うので当てにならない。
0337デフォルトの名無しさんNGNG
> いきなりGoF本読んでもその場では理解できても、
天才ハッケソしますた!

ちなみに漏れは結城先生のJavaデザパタ本が本格的にOO使い始めたきっかけだね。
今でも心のバイブルでつ。
まだ2年しか経ってないのか…。今や思考の基礎になっちゃってるから
もっとずっと前から使えてた気がしてしまう。

って書いてるオイラは今やC++でテンプレートを駆使する事が生きがいなわけですが、
上の方でOOとそれ以外を組み合わせるのはよくないって言ってる輩はどう考えても
勉強不足か何かかわいそうな境遇で排他的OO至上主義を啓蒙するようになっちゃっただけにしか
思えないんですが。
0338デフォルトの名無しさんNGNG
>>319
>規格上は標準C++じゃ使えないし
どこに書いてありました?初耳だ。
intptr_tとuintptr_tはポインタ演算用ではなくてポインタの格納用だと思うが?

>>337
>OOとそれ以外を組み合わせるのはよくないって
まあ、2年しかやってないならそんなものでしょう。
5年やるとわかります、自分以外が付いてこれない、めちゃくちゃ独りよがりなプログラムになっているのです。
他人と合わせるというのはとても重要なのですよ。
もっとも、一人でプログラムをしているなら一向に構わない別ですが・・・
0339駄目人間を自白する337NGNG
>まあ、2年しかやってないならそんなものでしょう。
>5年やるとわかります
年数だけで決められるんですか?たしかに私はまだまだ勉強する事がたくさんありますが、
それでもOOについてはそれなりに理解して(というか、あまりにも楽しくて、これはすぐ極めねばと
仕事辞めて半年プーしながら毎日朝から晩までコーディングしてたので経験量は単純な時間に比べてかなり多いです)、
非OOの時からのパラダイムシフトほどの大きな成長はなさそうな気配なので、
あなたとそれほど大きく知識、経験が離れているとは思いませんが。

>自分以外が付いてこれない、めちゃくちゃ独りよがりなプログラムになっているのです。
これはあなたの能力でしょう。他人にもわかるようにという気遣いをしながらコーディングしてください。

>他人と合わせるというのはとても重要なのですよ。
>もっとも、一人でプログラムをしているなら一向に構わない別ですが・・・
これには同意。
仕事には*まだ*使えませんね。でもそれは時間が解決する事(周りがついてくるのを待つだけ!)だし
何よりも一歩先を見ている事で、それ以前の問題に対して冷静かつ的確な対処ができるようになると思いませんか?
ひどい例えな気もしますが、子供の頃、掛け算を覚えたとたんに
それまで必死にやっていた足し算引き算が急にあたりまえのようにできるように
なったりした経験はありませんか?

進歩を否定する事は、自らの限界を設定するようなもので、
それこそ頑固親父へ一直線の、エンジニアとしては自殺行為だと思います。
今持っている物だけで安心したいというのなら「常に過渡期の」コンピュータ業界からは
足を表われた方がいいんじゃないですか?
0340デフォルトの名無しさんNGNG
>>339
OOもそれ以外も2年もあればマスターできるが、
周りが馬鹿ばっかでついてこれないことに気づくのに5年かかるってことだろ。
0341 NGNG
C++ 嫌いな人の言うことって全然わかんない(←理解力がないから)。

確かにクリティカルな処理が全体に占める割合って少ないから、そこだけ
(C++じゃなくて) C でもアセンブラでも使えば良いって気もするけど、
一つの言語で抽象化の度合いの高いところも書けるのはラクだし、いちいち
JNI とかやるのってムダだと思うし。

実時間でのフィードバックや高速処理が必要ない分野では、そもそも批判の
対象になるほど C++ なんて使われてる気がしないしなぁ。。。
0342デフォルトの名無しさんNGNG
>>338
> >規格上は標準C++じゃ使えないし
> どこに書いてありました?初耳だ。
int32_tはC++98より後に決まったC99で定められてるから、
C++98のどこにも「書いていない」。だから「規格上は」使えない。
処理系によっては使えるでしょうけど、そういう話はしていないので。

> intptr_tとuintptr_tはポインタ演算用ではなくてポインタの格納用だと思うが?
御意。

ところでptrdiff_t(C89)はポインタ演算結果の格納用ですが、じゃあポインタ演算用の型って何?
0343デフォルトの名無しさんNGNG
C++はバグをとってもまたすぐにバグが出るからうんざりだ。
それに比べてJavaはバグとりが楽チン。
うちの会社は半分以上のプロジェクトをJavaでこなしてるよ。
0344デフォルトの名無しさんNGNG
>>343
バグを入れるのはプログラマです。
0345デフォルトの名無しさんNGNG
いまどきC++だけしか使えない人っているんかいな?
0346デフォルトの名無しさんNGNG
C++とCだけならいるだろう。
0347デフォルトの名無しさんNGNG
■□■□おもちゃ屋本舗■□■□
アダルトグッズの激安販売店!
ピンクローターなんと190円!!
ペペローション360mlが530円!
ヌーブラ入荷いたしました!
護身用の警防、スタンガン、催涙スプレー、激安DVD、ビデオ、壁マイク、
盗聴器、ダッチワイフ等その他の商品も激安販売しております。
他店と比べてください!ホントに激安!!
http://www.king-one.com/
0348デフォルトの名無しさんNGNG
まあひとついえることは、C++使える人間がそれ以外の言語がわからないなどということは無いってことだ。
他の言語が理不尽だ、不便だ、クソだとは思うかもしれないが。
0349デフォルトの名無しさんNGNG
>>348
いきなり結論かよ?
>>346の意見と反対だぞ。
>>345=348の自演っぽいな。
0350デフォルトの名無しさんNGNG
C++しか使えない奴もいるだろうが、他の言語しか使えない奴に比べると
かなり少ないんじゃないかな。
C++はサラダボール状態だからC++が使えるならたいていの手続き型言語はすぐに使えるようになるし。

俺は他の言語を非力だと感じたことはあるが糞だと思ってことは無いな。
0351デフォルトの名無しさんNGNG
C/C++とアセンブラができれば殆どの言語はすぐ覚えられるだろ
0352デフォルトの名無しさんNGNG
そしてその「ほとんどの言語」には、
本当に価値のある関数型言語や論理型の言語などは含まれないのだ。
0353デフォルトの名無しさんNGNG
>>352
本当に価値のある言語?
たかが道具になに言ってんだおまいは。
( ゚д゚)、ツバペッペッ
0354デフォルトの名無しさんNGNG
なるほど。憂鬱を叩いている香具師は
憂鬱が読めない奴だったということは分かった。
0355デフォルトの名無しさんNGNG
憂鬱が読めないと、例えばどんな本が読めますか?
0356デフォルトの名無しさんNGNG
一時売れ筋チャートに載っていた
「オブジェクト指向に強くなる」を図書館で読んだ感想は、
「詰め込みすぎの端折りすぎ」で×。
最近見かけた「オブジェクト脳の作り方」だっけ、同じ翔泳社の、あれはどうですか。
0357デフォルトの名無しさんNGNG
自己レス。オブジェクト脳〜は目次からしてあまり良さげでないことは分かった。
買おうかと思ってたがやめた。
0358_NGNG
http://homepage.mac.com/hiroyuki44/
0359デフォルトの名無しさんNGNG
歌と違って本は買う前に内容がわかるわけじゃないから売り上げランキングやチャートは何の意味も無いぞ。
タイトルや宣伝しだいだ。

同程度のスキルの奴からの口コミが一番。
0360デフォルトの名無しさんNGNG
わかるだろ
0361デフォルトの名無しさんNGNG
>>359
うむ。世間の連中が同程度のスキルだと思って・・・いたが
俺が少しレベルアップしてしまったようだ。
ただチャートを見ると最近の傾向が分かるので重宝してる。
オブジェクト指向技術関連については、
世間の連中がようやく重い腰を上げて勉強しだしたことが伺える。
0362デフォルトの名無しさんNGNG
こういっちゃ何だが、例外とか、継承とかは関数言語のテクニックや、
言語仕様の後追いだよな。
0363デフォルトの名無しさんNGNG
>>362
関数言語?
オブジェクト指向の言語を参考にしたんじゃね?
(例外は、どの言語が最初に発明したか知らないけど)
0364 NGNG
PL/I, LISP, Ada あたり。
0365デフォルトの名無しさんNGNG
OO厨の多くは関数型言語については何もしらないのに
それについて敵意剥き出し、コンプレックス丸出しだな。
知らないなら、おれみたいに無関心装えばいいのに。
0366デフォルトの名無しさんNGNG
つーか使えない関数型言語のテクニックの使える機能を
持ってきて有効活用しているといったほうがいいと思う。
所詮関数型言語は当て馬
0367デフォルトの名無しさんNGNG
>>365
何も知らないで敵意剥き出しでコンプレックス
丸出しなのはお前だけ(w
0368デフォルトの名無しさんNGNG
>>367
コンプレックスはそりゃあるが、
知らないことを知らないと言うぐらいの賢さは持ち合わせてる。
0369デフォルトの名無しさんNGNG
関数型言語って何?C++あれば他はいらないんじゃないの?
0370デフォルトの名無しさんNGNG
Javaは純粋なオブジェクト指向言語?
SmallTalkみたいに、ループとかがオブジェクトじゃないのに?
0371デフォルトの名無しさんNGNG
関数型言語勉強したいのにLispとか記号の羅列にしか見えなくてダメぽ

冗長でもいいから目に優しい関数型言語が欲しい
0372デフォルトの名無しさんNGNG
>>370
C++よりは純粋。
俺の場合、比較対象がC++なもんで。
0373デフォルトの名無しさんNGNG
>>369
釣りだろうが。
適所適材ってものがあるだろ。
0374デフォルトの名無しさんNGNG
>>371
純粋に関数型の部分を勉強したいのならLispは不向き。
ML系やHaskellがお勧め。
どちらもこの板に専用スレがあるのでどうぞ。
0375デフォルトの名無しさんNGNG
>>373
関数型言語は頭の体操用じゃないの?
0376デフォルトの名無しさんNGNG
必死に時間や金かけてC++学んだ連中には悪いが、俺もC++はゴミだと思う。
習得に時間かかりすぎ。コードの可読性低すぎ。バグ産みやすすぎ。
自由度高すぎて他人のコードが理解しずらいったらありゃしない。
そのうえ未だにSTL周りなどコンパイラの互換性すら怪しい。
言語仕様の設計思想は理解できなくもないが、業務では使いたくない。
趣味で使いたい奴だけが使う言語にとっととなりさがって欲しい。
忌々しきStroustrup。
0377デフォルトの名無しさんNGNG
>>375
大規模ソフトウェアの証明支援として関数型言語や論理型言語が使われるね。
君だってサーバサイドだと、C++じゃなくて普通JAVA使うだろ。
0378デフォルトの名無しさんNGNG
>習得に時間かかりすぎ

おまえの頭が悪いだけ
0379デフォルトの名無しさんNGNG
sscliのソースを見ても、ありゃC++じゃなくてCだ。
COMというなにやらオブジェクト風のエッセンスで
包んだとはいっても、中身は殆どCまがいのコードで
書かれているような気がする。
0380デフォルトの名無しさんNGNG
>>376の理想の言語は自由度が低くて可読性が高くバグをうみださない。
習得が容易で処理系間での互換性がたかい。
つまりその言語とは!
0381デフォルトの名無しさんNGNG
>>380
COBOLだな
0382デフォルトの名無しさんNGNG
http://hp.vector.co.jp/authors/VA000092/jokes/strup.html
このStroustrupインタビュー記事、かなーり現場の的を射ているよな。
まあネタだけど。
0383デフォルトの名無しさんNGNG
382=最近知って嬉々として貼り付けてます
0384デフォルトの名無しさんNGNG
Stroustrupって名前からして
訳分からんこと仕出かしそうだよな。
0385デフォルトの名無しさんNGNG
言語がどうとかじゃなくてオブジェクト指向を理解してない奴が多すぎ。
覚えてもそれにそって書くことが全然できてない。
そーゆー奴は大抵テンプレートの悪用や趣味の悪い継承なんかをやりだす。
オブジェクト指向は言語の仕様やデザパタを覚えてもどうにもなんねーぞ。
ホントこればっかりはセンスとしかいいようがないような感じ。
わかんねー奴はホントわかんねーみたいだし。
こんなの5分で理解しろよ!
って地団駄踏みたくなる。
憂欝本が切り札だったがわからない奴は読むのをやめる。
効果は少ない。
あーどうしたもんか
0386デフォルトの名無しさんNGNG
>>385
アナタが設計して、実装だけやらせればよろしい。
って実装でもある程度のOOPの知識はいるのか・・・
0387デフォルトの名無しさんNGNG
>>386
コピペだよ
0388デフォルトの名無しさんNGNG
>>376
かな〜り禿同。
0389デフォルトの名無しさんNGNG
OOPったって、ただ物事の本質を見抜いて言語の制限とOSにとうまく折り合いをつければいいだけ
0390デフォルトの名無しさんNGNG
MSX-BASICとCとC++とZ80、68000、x86、R3000アセンブラとCOBOLとLISPが使える
漏れからしたらJavaムズい・・・、イメージわかねぇ・・・。
0391デフォルトの名無しさんNGNG
>>388
あなたにはコボルをお勧めする。
0392デフォルトの名無しさん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      
★☆                       
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0393デフォルトの名無しさんNGNG
>>378
禿同

>>381
禿同

>>391
かな〜り禿同

そりゃ英文法も英単語も知らない人間にゃ英作文は難しいやねヽ(´ー`)ノ
ハードとOSの動きと、言語仕様・制限を知ってればCもC++そんなに難しくは無い
つか、最近の高級言語はオブラートに包まれてやりたいことが出来ないのが多過ぎ。
出来てもソレやるのには面倒なことせにゃならんし。

そんな漏れはコボラー・・・_| ̄|○ Cツカイテーヨ...
0394デフォルトの名無しさんNGNG
”物事の本質”って何だよ。
0395デフォルトの名無しさんNGNG
C++は.NET Frameworkのクラスライブラリが使えないのでWindowsアプリを作るのは不向きです。
0396デフォルトの名無しさんNGNG
>>394
考えてごらん
0397デフォルトの名無しさんNGNG
>>389
あなたにはコボルをお勧めする。
0398デフォルトの名無しさんNGNG
>>396
コボルが真のプログラム言語という結論に達した。
0399デフォルトの名無しさんNGNG
汗書けないのにC++できますっつうのはどうよ?
個人的に信用できないんだが。
0400デフォルトの名無しさんNGNG
>>399
俺は汗かけないよ
勉強すれば出来るだろうけど必要性を感じないからやってない、デバッグのために読めれば十分だと思ってる
0401デフォルトの名無しさんNGNG
>>399 は汗っかきのデブハゲ
0402デフォルトの名無しさんNGNG
C++がちゃんとしたアセンブラに最適化してくれます。
0403デフォルトの名無しさんNGNG
つーかテンプレートの悪用ってどういう使い方を指してるわけ?
0404デフォルトの名無しさんNGNG
>>401
禿てるが、デブじゃない
0405デフォルトの名無しさんNGNG
C++プログラマは禿ていなくてはいけない
0406デフォルトの名無しさんNGNG
&C++
0407デフォルトの名無しさんNGNG
禿げてないC++プログラマは偽者
0408デフォルトの名無しさんNGNG
つか、おまえらも禿げろ
0409デフォルトの名無しさんNGNG
ただいま急速にハゲ進行中
父親も祖父もハゲ・・・・((((;゚Д゚)))ガクガクブルブル

ハ、ハゲは人類の進化系だよね・・・・
0410デフォルトの名無しさんNGNG
おまえら暇だな。
0411デフォルトの名無しさんNGNG
>>405はビヤーネ
0412デフォルトの名無しさんNGNG
>>410
オマエモナー
0413デフォルトの名無しさんNGNG
Kylix3 マンセー
0414デフォルトの名無しさんNGNG
貼っておくか
http://hp.vector.co.jp/authors/VA000092/jokes/strup.html
0415デフォルトの名無しさんNGNG
>>409
いいからさっさと禿げきれ( ゚,_・・゚)プッ
0416デフォルトの名無しさんNGNG

私の自信作だよ♪電気を消して見てね♪

http://nuts.free-city.net/index.html http://www2.free-city.net/home/angelers/page008.html
0417デフォルトの名無しさんNGNG
C++を極めるとこうなります。
http://www.research.att.com/~bs/Bjarne.jpg
0418デフォルトの名無しさんNGNG
「定数」が無いCは糞。
(C++も結局Cの呪縛からは逃れられないので存在価値なし)
0419デフォルトの名無しさんNGNG
>>418
VB厨は帰っていいよ。

#define
const
0420デフォルトの名無しさんNGNG
418みたいな間違った知識ってどこから仕入れるんだろう?
使えない先輩もしくは教授の痛い批判 → 弟子の418が真に受ける → 間違った受け売り
0421デフォルトの名無しさんNGNG
>>419
使い方は一緒かもしれないが、似ている様で違う物だぞそれらは。
0422デフォルトの名無しさんNGNG

>>421
>>418の2行に合わせて
「定数」が無いCは糞。…#define
(C++も結局Cの呪縛からは逃れられないので存在価値なし)…const
って事だろ。
0423デフォルトの名無しさんNGNG
>>422
CとC++のconstは違うってばよ。
0424423NGNG
あ。ごめん。良く読んでなかった。
0425デフォルトの名無しさんNGNG
C++を使いはじめて10年以上になるが、
これまでC++をC++として使える奴って未だ見た事がない。
このスレでC++を絶賛している奴は本当にC++を使いこなしているのか疑問。
0426デフォルトの名無しさんNGNG
>>425
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀、)< オマエモンアー
  (    )  \_____
  | | |
  (__)_)
0427デフォルトの名無しさんNGNG
>>425
あなたにはCOBOLをお勧めする。
0428 NGNG
Java が良いっていう人のなかには、言語仕様よりもそのフレームワーク志向っぷり
(固有のロジック以外の部分は ライブラリやら JNI とかで他人がやってくれ(て)
る)が良い、って人も居るような気がする。

C++ でも STL とか使うし、そういう態度を否定するわけじゃないけど、VM 以外は
Java がイイ!!なんての読むと net やら awt の実装は誰がしてると思ってんじゃ
とか、デバイスドライバとか動画処理系を書いてる漏れって死ねってこと、とか、
やはりなんとなく気分悪い。
0429デフォルトの名無しさんNGNG
>>428
別に死ななくていいよ。Javaでデバドラ書く人はあまりいないと思うし。
0430デフォルトの名無しさんNGNG
C++の例外仕様よりもJavaの例外仕様の方がいいと思う。
0431デフォルトの名無しさんNGNG
>>429
なんか違わないか?
0432デフォルトの名無しさんNGNG
あとInterfaceが無いC++は糞。
JavaにもObject Pascalにもあるのに。
クラスで代用しろって?
だから多重継承だらけになるんだよ。
0433デフォルトの名無しさんNGNG
C++インターフェースあるよ。interface unko{}で定義できるよ。
0434デフォルトの名無しさんNGNG
あ、ATLだけなのか
0435デフォルトの名無しさんNGNG
多重継承を行うのにInterfaceを使う奴は糞
0436デフォルトの名無しさんNGNG
こうして延々各言語信者の戦いが続いていくわけだが。
0437デフォルトの名無しさんNGNG
小文字大文字で同じ名前を使い分けるなんてカス。
0438デフォルトの名無しさんNGNG
Class Hoge
{
};


Hoge hoge;

とかやらないの?
0439デフォルトの名無しさんNGNG
シングルトンとかあるから、いいんじゃねぇかと
0440デフォルトの名無しさんNGNG
よく言われることだけど
C++の難しさ = VisualC++の難しさ
なんじゃないのか?

C++そのものはそれほど困難ではない。
しかしVisualC++のMFCやらWinAPIやら
その他色々なことを覚える時点でもう嫌になる。

VisualC++じゃないC++から入って、
それでもC++があまり馴染まなかった人っている?
0441デフォルトの名無しさんNGNG
よく言われてることだけど
440はうんこ
なんじゃないのか?
0442デフォルトの名無しさんNGNG
↑コボラーはアホなので言語の話では場に加われないんだってさ
0443デフォルトの名無しさんNGNG
ボーランドのC++をVB.NETが追い越しちまったよ。言語能力的に。
0444デフォルトの名無しさんNGNG
440うんこ
0445デフォルトの名無しさんNGNG
ウンコー
0446Visual COBOL++NGNG
>425
いるいる!
Visual C++を、MFCを、C++でなく殆どCのみで組むやつ。
MFCで使わざるを得ないオブジェのみC++で仕方なく組むけど、
自分で作って使用する関数は全てCのみってやつ多い。
0447321NGNG
「憂鬱」は、途中までは楽しく読めたんだけど、最後に出てくるエイトクイーンの
コード読んで、ちっともエレガントじゃないやん!って感じちゃったのよ。
なんか、前に C で書かれたソース見た時の方が、よっぽど感動したよ!みたいな。

構成もうまいし、広く浅くいろいろな視点で描かれていて、入門書として
悪くはないとは思うんだけど、具体的な事例の紹介まできっちりやろうとして、
結果として「玉に瑕」になってしまっていて、なんかもったいないなぁ、
って気がしたんだけど、そんなことない?

うーん。俺的に「オブジェクト指向とはこうゆうことなんだ!」って理解した
気になった後に読んだので、変に反発しちゃっただけかもしれのだけど。

0448デフォルトの名無しさんNGNG
「俺は C++ できるぜ!」って主張している連中の中で、ちゃんと
「C++ の標準ライブラリ」を理解できてる奴がほとんどいないことが、
C++ に対する意味不明な批判の元になっている気がする。

俺の周りだけかもしれんけど、「C++で、いちいち delete の管理をしなきゃ
いけないのが面倒」とかいう奴に限って std::auto_ptr 知らなかったり、
「C++ のストリームは遅いよね」って言う奴に限って stream_iterator
知らなかったりするんだけど。(蛇足だけど std::auto+_ptr とか steram_iterator も
万能ではない!、という意見には俺も前面的に賛成するぜ!けど今はそれ以前の話)

なんか、C のイディオムを C++ に無理矢理持ち込む奴大杉な気がする。
10年前にはその時代遅れな C 言語固有のテクニックも通用したのかもしれんけど、
C++ なら無意味なだけでなく有害なのでやめてください、みたいなコードが
はびこってて、若僧の俺が「ここはこうした方がいいんじゃないですか」とか言うと、
「いや!これはこれで正しいのだ!」とかロートルな親父に目の色変えて怒らるのは
もうううんざりって感じ。

Java のうらやましい点のひとつは、余計な過去のイディオムを無効化した
点にある気がする。いっぽうで、いまさら OO に特化してしまった点で、
正直目新しさはないけど。private 継承ができないのもむかつく。

#うう。長文ごめんね。
0449デフォルトの名無しさんNGNG
>>447
あのコードはクラス図、シーケンス図を忠実に翻訳したものです。
俺的には、設計結果をコードに落とす方法が分かって良かったが。
0450デフォルトの名無しさんNGNG
>「C++ のストリームは遅いよね」って言う奴に限って stream_iterator知らなかったりするんだけど

お前も「C++ の標準ライブラリ」を理解できて無いね。

「C++ のストリームは遅いよね」って言う奴にstream_iteratorの存在を教えても何の解決にもならねーよ
0451デフォルトの名無しさんNGNG
↑反論するならちゃんとその訳を書け。
さっぱりわからん。
0452448NGNG
>> 450
指摘されてる点は多分理解できてるけど、たぶんそれ以前のレベルで俺は
苦労してる感じ。そう言い切れちゃう君の環境が正直うらまやしい。

前に誰かが言ってたけど、C++ は習得コストが高すぎて、結局(馬鹿も
阿呆も受け入れられざるおえない)多人数プロジェクトには向いてない、
ってのが俺のいる環境なのかも。
0453448NGNG
>>451

俺の理解する範囲内では、stream_iterator の存在意義は、
例えば、std::copy() の引数として利用できる点にあって、
別にパフォーマンスを求めた結果として導入された仕様ではないだろーってのが、
450 の主張したいことだと思う。

一方で、>>448 での俺の主張は

while(os) {
char c;
os >> c;
}

が遅いって抜かす奴が、stream_iteratorの使いかた知らないのはいかがなものかと、
というすごくレベルの低い話。ふつーは、 stream_iterator 使った方が、
全然早いはず。でもまぁ、実はこれも実装環境に依存するのかも。
なんか、いまひとつピントの外れた例を挙げてしまったような気もする。
0454448NGNG
う。>>450 は、sterambuf_iterator だろうが!ってツッコミだったのかも。

ええと、要するにですな。
かくのごとく「C++ は難しすぎ」って話なわけで...。
うう。俺かこわるい。
0455デフォルトの名無しさんNGNG
要するに、馬鹿をプロジェクトに入れるなと。
0456質問NGNG
標準C++ではstd::string s;で
ストリームに << や >> はできますか?
できないよね?



in >> s;
out << s;

0457デフォルトの名無しさんNGNG
>>456
できるが・・・
0458質問NGNG
>>457
VC++6.0を使っているができない。
コンパイルエラーになる。
インクルードしているヘッダーは
#include <iostream.h>
#include <fstream.h>
#include <string>
なのだが。。。
まだ足りないのだろうか?




0459デフォルトの名無しさんNGNG
とりあえず.hをはずせ
0460デフォルトの名無しさんNGNG
・Java使いらしい
・憂鬱本でオブジェクト指向に目覚めたらしい
・テンプレートは理解できないから嫌いらしい
・理解できない物は嫌いらしが、OOは唯一理解できた(つもり)でOO至上主義者になった
・貶し言葉は「憂鬱本が理解できない奴は〜」らしい
・「1÷2は0.5だ」と言う相手に「0余り1だ、小数なんて邪道だスパゲティだ」と言うのが恥ずかしくないらしい。
・最後に、分身の術が得意らしい
0461デフォルトの名無しさんNGNG
・Java使い・・・○
・憂鬱本で・・・× Javaによるオブジェクト指向入門とかそんな本だ
・テンプレート・・・× 憂鬱本に解説が載っている
・理解できない・・・× 構造化プログラミングは分かっている
・貶し言葉・・・○ あの程度が理解できないんじゃね
・1÷2・・・1/2
・分身の術・・・× 別に分身しているわけではないのでご安心あれ
0462デフォルトの名無しさんNGNG
・Java使い・・・×
・憂鬱本で・・・×
・テンプレート・・・×
・理解できない・・・×
・貶し言葉・・・×
・1÷2・・・0.4999999999999999999999999999999…
・分身の術・・・○ 現在分身中
0463デフォルトの名無しさんNGNG
道具に使われてる連中が多いな、このスレ。
0464デフォルトの名無しさんNGNG
C++は、OOとは全く関係ないところで難しい。
OO自体は単純明快なのに、だ。
0465デフォルトの名無しさんNGNG
親クラスのコンストラクタの呼び出し方が変なのはOOと関係ないのか?
0466デフォルトの名無しさんNGNG
>>462
いったい何進数の計算なんだ > 0.499..
0467デフォルトの名無しさんNGNG
>>466
お前真性のバカだろ
0468デフォルトの名無しさんNGNG
>465 名前:デフォルトの名無しさん[sage] 投稿日:03/07/26 13:51
>親クラスのコンストラクタの呼び出し方が変なのはOOと関係ないのか?


Javaと違うから変とか言うのはやめてください。
0469デフォルトの名無しさんNGNG
>>464
C++に挫折して恨み骨髄液。
Javaがなんとかわかって、OOがわかったつもり。
C++さえなくなれば、過去の傷を消せる。
消えろ、C++。ちくしょう。C++さえなければ。
俺は、恨みを忘れん。


というタイプの人ですね。;-)
0470デフォルトの名無しさんNGNG
>>468
Object PascalもJavaも同じ様な呼び出し方でC++だけ極端に違います。
つーか何アレ?
0471デフォルトの名無しさんNGNG
--- うちで受けてるオブジェクトの案件なども、組み込みを除くとほとんど Java ですよ。
C++ はもう壊滅状態です。


C++ は難しいからですかね。やっぱり。


--- そうですね。あれだけ簡単にオブジェクトぼこぼこ作れたらいいですよね。
私、MS の .NET のセミナーに行ったんですけど。彼らももう、C++ は進めてないですよ。


http://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview08.html
0472デフォルトの名無しさんNGNG
C++はわいの会社も壊滅状態じゃ。
0473デフォルトの名無しさんNGNG
まるで
Algol≒C++≒PL/I≒言語仕様が巨大で複雑
Pascal≒Java≒該当無し≒言語仕様が簡素で単純

歴史は繰り返すのか
0474デフォルトの名無しさんNGNG
いいとこどりの折衷案にみえて巨大過ぎたPL/I = .NET
0475デフォルトの名無しさんNGNG
C++の仕事がどんどん減ってるんだけどどうすればいいの?
このままじゃリストラされちゃうよ〜〜〜。
隣にはJavaがめちゃくちゃできる奴がおる。
誰か助けてぇ〜〜〜〜〜。
0476デフォルトの名無しさんNGNG
>>467
?
0477デフォルトの名無しさんNGNG
まずい飯をそのままにOOの味付けをまぶして古今東西の珍味を盛りつけた言語≒C++
0478デフォルトの名無しさんNGNG
ふー、C++挫折してJavaに移行しといて
辛うじて生き延びたって感じだな。
世の中平均的な頭の持ち主が多いのだ。
彼らにC++は難しすぎる。
0479デフォルトの名無しさんNGNG
http://homepage3.nifty.com/coco-nut/
ヌーブラってエロくねーか?
0480デフォルトの名無しさんNGNG
>>476
462でも467でも無いが、
0.499... = 0.5 だろってことじゃね?

↓に同じ
1/3 = 0.333...
0.333... * 3 = 0.999...
1/3 * 3 = 1
ゆえに
0.999... = 1
0481デフォルトの名無しさんNGNG
>>475
Javaに乗り換える||プログラマの上位職種を目指しコード書きは止める||古い言語の保守要員になる||廃業
でどう?
0482デフォルトの名無しさんNGNG
C++よりJavaの方が楽チンだし安全だし開発も早いが、
C++の方が面白いと思わないか?
Javaって楽だけど面白くない。
0483デフォルトの名無しさんNGNG
>>482
確かにJavaはC++より面白くない。
なので、面白がりたかったら俺はLinuxで遊ぶね。
0484デフォルトの名無しさんNGNG
今のC++は、core languageに限って言うと、かなり安全側に
倒してあるわけで、ほとんどの罠は引っかかってもコンパイル
エラーで済むと思うが。例外安全ばかりは知らないと仕方
無いけど、これは言語に依らないし。まあそこら中で例外が
起こる分やりにくいのは確かだけど。
それよりライブラリが・・・
0485デフォルトの名無しさんNGNG
>>482
絶対Javaの方が面白い。
なにせC++には標準で3Dどころか2DのGUIさえ存在しないから。
0486デフォルトの名無しさんNGNG
Javaは面白いというか、生き延び戦略で移行したからな。
第一に、簡素なOO言語である。
第二に、クラスライブラリがOSに依存しないので、何が来ても馬鹿の一つ覚えでいける。

っつーね。
0487デフォルトの名無しさんNGNG
DelとかC#とかいじると、どうしても言語仕様の古くささを感じてしまうね。
0488デフォルトの名無しさんNGNG
>>487
新しい部分もあるじゃん、もちろん古い部分もあるが。
おめめ節穴ですか?
0489デフォルトの名無しさんNGNG
>>471のページってひどくねーか。

これってインタビュー記事だよなあ。
それなのに、C++は壊滅だとか、MSはC++を進めてないだとか、
インタビューされてる人じゃなくて、インタビューしてる人の話でしょ。
そんなこと言いたいなら、インタビューでやるなよって。
インタビューされてる人は、ただ無難に答えてるだけじゃん。

OGISは糞だってよく聞くけど。ほんとに糞だね。
0490デフォルトの名無しさんNGNG
>>489
インタビューなんてみんなそんなもん、自分の書く記事に都合の良い方向に持ってくんだから。
0491デフォルトの名無しさんNGNG
ひでぇ。 読んでみてびっくりした。
確かに、インタビューワが糞だわ。

OGISはコピー機のファームがC#と.NETで書けるとでも思ってんのか。
0492デフォルトの名無しさんNGNG
妬みが激しいでつ。
0493デフォルトの名無しさんNGNG
Javaの人はもうC++をライバル視するのやめれ。
もともと住んでる世界が違う。
JavaのライバルはあきらかにC#、VB.NET、Del.NETなんかだろ。
まあ、せいぜい、WEBサービスの利権を取られないようにがんばりなさいませ。
0494デフォルトの名無しさんNGNG
>>493
うむ。時代はJava vs .NETだからな。
UNIX陣営対Windows陣営の果てしなき戦いは続く。
・・・まぁどっちがきても大丈夫なようにVB.NETでもやっとくかな。
0495デフォルトの名無しさんNGNG
VB.NETなど1日あれば覚えられる自信があるから必要になったときに覚えればいい
0496デフォルトの名無しさんNGNG
C++ なぞ3年8ヶ月もあれば覚えられる自信があるから必要になったときに覚えればいい
0497デフォルトの名無しさんNGNG
明日がある、明日がある、明日があるさ〜♪
0498デフォルトの名無しさんNGNG
C0x
C++0x
っていつごろ?
0499デフォルトの名無しさんNGNG
>>496
必要になってからじゃ遅いじゃん。
0500デフォルトの名無しさんNGNG
>>499
こんなに自信もってこれ書き込むのはじめてかも

ネタにマジレスカコイイ!!
0501デフォルトの名無しさんNGNG
大体お前らな。
C++で書く時にCのライブラリつかうからいけねぇんだよ。
オブジェクト指向の言語に手続き型のライブラリ使ってどうすんだよ。
手続き型の関数でクラス設計してどうすんだよ
そんなことするから予測しないバグが多発するんだよ。


そうしておいて、C++がダメだダメだだって?
そりゃ、あんたらが真のC++を使ってないからだろ。

CとC++は全く違う言語だとC++の開発者自身が一番最初に述べてるんだよ
Cに似てるのは見かけ上であって、CとC++が混在できる訳ないんだよ。
考え方がまるっきり違うんだからな。

これからはstdio.hじゃなくてiostreamを使えよ
0502デフォルトの名無しさんNGNG
>>501
Cライブラリなんかメソッド内に隠蔽されて使うだけなんだから設計には影響しないだろ
0503デフォルトの名無しさんNGNG
Cライブラリを使う危険性が判ってない
にわか信者がまた一人・・
0504デフォルトの名無しさんNGNG
>>502
じゃあ、お前はC++の中にCOBOLの関数だろうがLispの関数だろうがXMLのタグだろうがPrologだろうがなんでも入ってていいんだな?
隠蔽されて使うだけだから・・・・


そうじゃない。言語ってそういうものじゃない。
もちろん組み込み型が重要な訳だけど
その言語の標準ライブラリはその言語の方向性を決めるものだよ。

どこか別の言語から持ってくればいいって訳じゃない。
0505デフォルトの名無しさんNGNG
>>504
>じゃあ、お前はC++の中にCOBOLの関数だろうがLispの関数だろうがXMLのタグだろうがPrologだろうがなんでも入ってていいんだな?
>隠蔽されて使うだけだから・・・・
そういうもんだよ、C++って奴は。
そいいうのがあっても良くなければ、C++の本来の利点は出てこない。
それを取り除いたら、C++なんて言語なぞ使わずJavaなりC#なり使ったほうがはるかに便利だ。
無茶が効くからこそのC++だよ、それをやるのがダメだというなら、あんたのやっていることは途方のない無駄だよ。
そういう目的なら今はもっと良い言語が沢山ある。
0506デフォルトの名無しさんNGNG
>>505
違うよ。そういうもんじゃない。これはC++に限らない。
C++はあくまでC++の中でやるべき。
C++の作者はprologを使ったことがないだろうし、Lispもたぶんないだろう。
C++はC++の枠の中だけで有効だよ。
他の言語もね。

それに、お前はC++の本来の利点を分かってないよ。
C++の本来の利点は高機能なオブジェクト指向言語というところ。
Javaにはできない複雑な継承とか、他の言語には真似できない高機能なテンプレートとか、それがC++の真髄だよ。

決して、他の言語を受け入れるような組み込みの汎用性を提供してる訳じゃない。

だから、お前がそういう考えでC++をやってるなら、それこそ無駄だよ。

あと、
>そういう目的なら今はもっと良い言語が沢山ある。
ということのようだが、ないね。
C++の前に存在していたLispが唯一だろ。
lispはC++をはるかに超えて高機能だからね。
C++のテンプレがLispのマクロにはかなわない
プログラムをデータのようにして扱うことでさえできてしまう。
lispはたしかにC++を超えるだろうね
0507デフォルトの名無しさんNGNG
>>506

×C++のテンプレがLispの...
○C++のテンプレはLispの
0508デフォルトの名無しさんNGNG
>>506
extern "C" と asm が言語規格に存在する意義を認めないということですか?
0509デフォルトの名無しさんNGNG
>>505 >>508
C++で他の言語を想定したライブラリ使うと、
例外機構とかがうまく機能しなくなったりする。
これはC++から恒常的に使えるCライブラリでさえ当てはまる。
こういう違反が頻発していると、
C++ベースでライブラリ書く事が無駄に思えてくる。
0510デフォルトの名無しさんNGNG
これらの違反は、C++という仕様の中では防げない。
作成者側が気をつけるしかない。
0511デフォルトの名無しさんNGNG
>>506
interface もない言語なのにか?
ムチャクチャ言うなよ
0512デフォルトの名無しさんNGNG
お前は lisp を使ったことがあるのかと小一時間問い詰めたい発言内容だ。
0513デフォルトの名無しさんNGNG
テンプレートとかについてLISPのマクロに敵う言語はないと俺も思う。
C++はコンパイル時にそれに近い事をしているという意味では
よくやってるが、いささか煩雑だね。
ここでLISPの話をしてもしょうがないと思う。知らない人ばっかりだし。
0514デフォルトの名無しさんNGNG
>>506
ならば貴方はC++を止めてlispでプログラムすべきだね、
最近はlispも高速な実行方法が研究されているし実用にもなるだろう。その方がいい。
C++については、みんな貴方のような使い方は目的としていないよ。
0515デフォルトの名無しさんNGNG
にわかC++信者はこれだから困る。
0516デフォルトの名無しさんNGNG
>>514
>C++については、みんな貴方のような使い方は目的としていないよ。
それは>>514だけの意見だろ
0517デフォルトの名無しさんNGNG
boostはLISPを目指してる様にも見えるが。
0518デフォルトの名無しさんNGNG
たぶんLISP信者とか言われて一蹴されるんだろうな。
0519デフォルトの名無しさんNGNG
>>514
>最近はlispも高速な実行方法が研究されているし実用にもなるだろう。その方がいい。
昔っからLispは速いよ。特に商用は。
0520デフォルトの名無しさんNGNG
>>516
そんなことは無いよ、C++ユーザーの八割方は組み込みユーザーだからね。
標準ライブラリを入れるとバイナリサイズが大きくなりすぎて困ることは当たり前のようにある。
libc(stdioとか入っているライブラリ)すら取り除くことがあるんです、仕事でやっているなら常識ですね。
0521デフォルトの名無しさんNGNG
>>520
>C++ユーザーの八割方は組み込みユーザーだからね。
(゚д゚)ハァ?
0522デフォルトの名無しさんNGNG
組み込みユーザーって何?
人柱って事?
0523デフォルトの名無しさんNGNG
514=520=C上がりの覚えたて厨
でした・・・
0524デフォルトの名無しさんNGNG
>>523
始めて10年まだまだ憶えたてです、この言語ときたら進化が止まらんのでね。
0525デフォルトの名無しさんNGNG
>520

はぁ?コイツは馬鹿ですか?
恐れ入るよ。
0526デフォルトの名無しさんNGNG
>>520
本日のマイフェイバリットトリビアです。
0527デフォルトの名無しさんNGNG
C+=2まだー?
0528デフォルトの名無しさんNGNG
ストラウストラップは禿げすぎ
0529デフォルトの名無しさんNGNG
まあ嫁

Java と C++ との違い
JavaはC++を親言語として設計されていますが、いくつか削除した点、
改良した点、追加した機能があります。 以下にC++との変更点を挙げます。
http://www2g.biglobe.ne.jp/~yoshi/java/JavaGate/Chapter1/difff.html

0530デフォルトの名無しさんNGNG
>>458
遅レスだけど
using namespace std;
が足りない
0531デフォルトの名無しさんNGNG
Javaはgoto文が使えないくせにgotoが予約語に入っている
とんでもない駄作
0532デフォルトの名無しさんNGNG
>>531
goto 使いたいのか?
0533デフォルトの名無しさんNGNG
int ito, goto, sato;
0534デフォルトの名無しさんNGNG
Java とか C# だと
int 伊藤, 後藤, 佐藤;
とか出来るし…
0535デフォルトの名無しさんNGNG
James P. Gotoさんとかはどうしろってんだ!
0536デフォルトの名無しさんNGNG
自作自演?
0537デフォルトの名無しさんNGNG
>>535
Goto は予約語じゃないから使えるけど。
0538名無し@沢村NGNG
おまいらよ、C++でTVウェアをつくらないか?


http://pc2.2ch.net/test/read.cgi/tech/1059262203/l50
0539デフォルトの名無しさんNGNG
CやJavaのプログラマは少なくとも言語処理系に対して少しは興味を
持ってたけど、C++は標準化に携わってる人もプログラマも
コンパイラ製作者のことなど何も考えてないのが問題な気がする。
もう他人事。
0540デフォルトの名無しさんNGNG
>> 539

あら。どちらかというと、俺は Java プログラマに対して「言語処理系」に
対する理解がじぇんじぇんない、って印象があるよ。Java だと組み込み型と、
標準ライブラリの堺があいまいだからそうなるんかなぁ、とか思ったり。

単に俺の回りがレベル低いだけかもしれんけど、Java プログラマで、
このコードがどんなバイトコードになるか、とかいちいち理解している人って
割りとふつーなの?
0541デフォルトの名無しさんNGNG
> Java だと組み込み型と、標準ライブラリの堺があいまい
???

> 単に俺の回りがレベル低いだけかもしれんけど
そーなんじゃない? 本人のレベルも(以下略)
0542デフォルトの名無しさんNGNG
>>541
String クラスなんか、言語仕様に食い込んでるじゃん。
0543デフォルトの名無しさんNGNG
>540
いずれはそういった知識が現在のアセンブラのように
「知る必要のない知識」になるんじゃないの?

ただ、今はまだそこまでの段階ではないけどね。

0544デフォルトの名無しさんNGNG
ていうかなんですかcoutの<<って? 
ビットシフトの演算子にわざわざ別の機能割り当てるなんて
技術屋以外に理解できないようにするための細工ですか
女子高生の意味不明単語みたいに。
0545デフォルトの名無しさんNGNG
>>544
出来た当時のセンス的にはかっこよかった。
今にして思えば演算子オーバーロード悪用の典型例になっちゃったけど。
0546デフォルトの名無しさんNGNG
>>544
Cでは確かに<<は単なるビットシフトだ。
しかしC++ではストリーム演算子の意味にもなる。ただそれだけだ。
新しい言語で新しい演算子が一つや二つ増えるのがそんなに不思議か?

0547デフォルトの名無しさんNGNG
>>546
ある場面ではシフト、ある場面ではストリーム入出力と、
場面によって違う意味で使われてるというのはあまりいいことではない。

だから、C# では演算子をオーバーロードできるけど、
<< をストリーム入出力には使ってない。
0548デフォルトの名無しさんNGNG
int *p,i;
p+1とi+1の+は果たして同じ意味か?
0549デフォルトの名無しさんNGNG
同じ意味でしょう。
0550デフォルトの名無しさんNGNG
#ifdef _NDEBUG
#define TRACE(in)
#else
#define TRACE(in) std::cout << in << std::endl
#endif //_NDEBUG

TRACE("i = " << i << "k = " << k);

みたいに、適当に突っ込めてかつ可変数引数とれて便利だと思うがな。
0551デフォルトの名無しさんNGNG
>>548
例が悪いよ、++/--にしとけ。
0552デフォルトの名無しさんNGNG
f()と1+(1)の()は?
0553デフォルトの名無しさんNGNG
>>546
今までC++の<<は気に食わなかったがすっきり納得した。
2chでは>>がレス先を意味するのと同じようなもんだな。
0554デフォルトの名無しさんNGNG
static_cast< int >( a, b );と
myoriginal_cast< int >( a, b );の

,は意味が違うな
0555デフォルトの名無しさんNGNG
Φ's
0556デフォルトの名無しさんNGNG
>>550
>>、<<は既存の演算子の意味を上書きするというのがまずい。
文字列に対する+(連結)も同様。
構文唐としては悪性だ。

新たな演算子シンボルを定義できるべきだろう。
0557デフォルトの名無しさんNGNG
int statjc_cast,doubIe;

statjc_cast<doubIe>(3);
0558デフォルトの名無しさんNGNG
おまいはベクトル積にドットやクロスを使うなと主張するタイプですな。
0559デフォルトの名無しさんNGNG
別に既存の演算子の意味を上書きしててもかまわないと思うけどな。
0560デフォルトの名無しさんNGNG
そんなに気になるなら、
ソース群から演算子オーバーロードしてる部分を
リストアップするようなツールでも自作しておけばいい。
古い頭でいらつく事を言わないでくれな。もっと柔軟に他人とうまくやってくれ。
0561デフォルトの名無しさんNGNG
>>559
それが直感的に分かりやすい場合にはまあいいんだけどな。
元の意味とあまりにも意味が違うオーバーロードの仕方は避けた方がいい。

cout << の場合、なんとなく出力っぽい(見た目が)って点では問題ないんだけど、
元の << の意味と全然違うって部分は問題。
俺の私見としては、cout << の用法はぎりぎりセーフってところかな。
悪くはないけど、見習うべきものではない。
0562デフォルトの名無しさんNGNG
A a;
B b;

printf("%s\n", a.print());
printf("%s\n", b.print());

考えただけで面倒。
C++なりに表現力を高めようと努力してんだしいいじゃん。

>元の意味とあまりにも意味が違うオーバーロードの仕方は避けた方がいい。
偉そうに言ってるが当然の話。でも、あんたの考えはあまりにCオンリーになってるし、
もっと他の言語にふれて表現方法を学んできてもいいんじゃないの?
0563デフォルトの名無しさんNGNG
cout("hoge1","hoge2","hoge3!,...);
で別に良いじゃん。
0564デフォルトの名無しさんNGNG
>>563
型情報がなくなるのでそれは無理。


0565デフォルトの名無しさんNGNG
ビヤーネ先生のバイブルによれば、

最初は入力も出力も "=" にしようと思ったけど、ほとんどの人は入力と出力の
演算子が異なっているほうがよさそうだったし、おまけに右結合なので不都合だった。
で、"<" と ">" も試してみたのだけど、人々の頭には「より大きい」「より小さい」という
意味が強く刷り込まれていて適当ではなかった。
その点 "<<" ">>" ならそこまでの絶対的な刷り込みは無く、図形的な対称性の点でも
バッチリなので、これに決定した。

のだとか。C++学習時に既に強い刷り込みのあった人はお気の毒。
0566デフォルトの名無しさんNGNG
java だと 算術右シフトか論理右シフトのどっちかが >>> だけど
C++はどうだったっけ?
別に何も定義されてないなら <<< と >>> でよかったのに。
0567デフォルトの名無しさんNGNG
>>566
モラルハザードですか・・・
0568デフォルトの名無しさんNGNG
>> 545

俺も同意見だ。
けど、oHello World レベルで、この話が出てきてしまうあたりは、
いろいろと戦略ミスだったような気もする。
0569デフォルトの名無しさんNGNG
最初からCは、同じ記号の演算子に複数の意味を与えてたからなぁ。
++や--は前置・後置で異なる動作をするし、
*は間接参照演算子だったり、掛算の演算子だったりする。
&もビット積だったり、アドレス演算子だったり。
,は順次演算子だったり、引数のセパレータ(?)だったり。

C++のストリームの<<とかは、Cの伝統を引きずってるだけだと思われ。
0570デフォルトの名無しさんNGNG
あんま関係ないが、Perlの<=>演算子は好きだ。
0571デフォルトの名無しさんNGNG
C++は柔軟すぎる仕様が逆に難しくしているよな

0572デフォルトの名無しさんNGNG
基本理念が 柔軟性>容易さ だからしょうがない。
0573デフォルトの名無しさんNGNG
なんでC++(Javaもだけど)にはVBのwithに相当する機能が無かったのだろうか
0574デフォルトの名無しさんNGNG
VBは知らん。PASCALのwithと同じか?
0575デフォルトの名無しさんNGNG
>>573
んなもん要らないじゃん。
必要なら参照なりポインタなりを保持する一時変数を使えばいいんだから。

つーか、多用されたら見難いだけじゃん。

Java? んなもん知らん。
0576デフォルトの名無しさんNGNG
>>575
禿道。

with が乱立して 場合によってはwithが100行ぐらいあると、もうどっちがどっちだか混乱の元。

VBで不思議だと思うのは、配列が LBound と UBound 形式なところ。アフォかと馬鹿かと
For などのループに continue がないところ。if行が増えてインデントが画面の右端に達する馬鹿をなんとかしろと
0577デフォルトの名無しさんNGNG
俺はWith相当のものは欲しいがなあ。
見づらいだの分かりにくいだのは、#if とかも使い方によっては同じでしょ。
それじゃ理由にはならない。
必要ないと思う人は使わなきゃいいだけだし。
0578デフォルトの名無しさんNGNG
>>577
#if は無いと大変なことになる・・・
無い方がソースが汚くなる。

VBに関しては、別にソースなんか汚くて当然ぐらいの勢いを開発環境やツールやらからヒシヒシ感じるけど。
0579デフォルトの名無しさんNGNG
コンパイル遅すぎなのは困る。
VC++でリビルド間違ってクリックしちまった時には泣けてくる。
いやぁ。いまビルド中なんで2chやってんだけどね。
0580デフォルトの名無しさんNGNG
>>579
同志よ。
0581デフォルトの名無しさんNGNG
>>573
Pascalでは変数宣言を途中でできないから、withという苦しいものを持ち込ん
だんだと思う。
Cはブロックの先頭なら変数を定義できるし、一緒に初期化もできる。
withなんてまったく必要ない。
むしろネストしたときの可読性の悪さを考えれば、百害あって一利なし。
0582デフォルトの名無しさんNGNG
>>579
激烈に同意

>>573
withはいらね。
どうしても欲しいなら
#define with(exp) if(exp)
とでも汁

with( hoge* obj = 長ったらしい式 )
{
 obj->...;
 obj->...;
}
else
{
 nullだったときのエラー処理。
}

みたいに書けるぞ。

nullのときは自動的に処理をスキップできるうえきれいな構文でエラー処理できる、オブジェクト名にコンテキストにふさわしい名前を自分で選べるし、入れ子も可能だ。
操作対象を毎行明示するので可読性も損なわれない。
0583デフォルトの名無しさんNGNG
オーバーロードと標準変換(特にポインタ)って相性悪くない?

#include<iostream>
using namespace std;
void f(void*){ cout << "void*" << endl; }
void f(const char*){ cout << "const char*" << endl; }

int main()
{
f((int*)0);//void*
f((char*)0);//const char*
}
0584デフォルトの名無しさんNGNG
>>582

おえ
0585デフォルトの名無しさんNGNG
オーバーロードは関数だけにしましょう
0586デフォルトの名無しさんNGNG
Windowsは「本当に」C++で作られているので
難しいのは仕方ない。あきらめれっ
0587デフォルトの名無しさんNGNG
Cじゃないの?
0588デフォルトの名無しさんNGNG
漏れ的にはリファレンスイラネ
0589デフォルトの名無しさんNGNG
マニュアルもイラネ
0590デフォルトの名無しさんNGNG
人生イラネ
0591デフォルトの名無しさんNGNG
ヘルプはダイスキ
0592デフォルトの名無しさんNGNG
Longhornって.NETなんでしょ
だったらC#でつくられてるの?
0593デフォルトの名無しさんNGNG
>>587
見た目C++を使っていてもCみたいなもんだろ。
手続き型とオブジェクト指向を両方学んだ人は、どうしても一方の影響を受ける訳で
0594デフォルトの名無しさんNGNG
>579
>581

Pascalは変数の途中宣言を禁止しているから
コンパイルが速いのだ。
Delphiのコンパイルは爆速だよ。
オレは数行書くごとにコンパイルしてるしw
0595デフォルトの名無しさんNGNG
DelphiこそXP時代の救世主だね
0596デフォルトの名無しさんNGNG
> Pascalは変数の途中宣言を禁止しているから
> コンパイルが速いのだ。

そんなに変わるか?
0597デフォルトの名無しさんNGNG
俺はCOBOLが全く理解できないんですけどSEになれますか?
秋にある2種は言語埋まんないと受かんないしなぁ
0598デフォルトの名無しさんNGNG
ついでに最適化もろくにしてないから速いんだよ:P
0599デフォルトの名無しさんNGNG
後、前方参照も不可だしね(一部例外あり)。
左辺代入のみに統一していることも覚えておけば初心者には有益だ。

これらを爆速の一因に加えといてね。
むかしのVBマガジン呼んでいたら、インチキをしているので早いんだ、という記事が
書いてあったワ。これにはさすがに(^^;)
0600デフォルトの名無しさんNGNG
get!
0601デフォルトの名無しさんNGNG
>>594
途中宣言はほとんど関係ない。
Pascalのコンパイルが早い理由は1パスだからだ。
0602デフォルトの名無しさんNGNG
C/C++も大量の#includeさえ無ければそれなりに速いと思うぞ
0603デフォルトの名無しさんNGNG
今までプログラムをしてきて、演算子をオーバーロードして読みやすくなるときと読みにくくなるときっていうのは、
演算の意味よりも、関数の性質による所が多いような気が最近しています。
行儀の悪い演算子オーバーロードの今ある説はあんまり受け入れたくないって最近思ったりしたり・・・
というのは、
たとえば足し算でみると

add( a , add( b , c ) ) == a + b + c

なのですが、

a + b + c == b + a + c == c + b + a ...

といった性質があるわけで、これを上記の関数で表現されてしまうと
これを整理して考えてみよとか言われると訳ワカメって感じです。

数学でいうところの
結合法則とか交換法則とか分配法則とか左右を入れ替えると符号がひっくり返るとか(外積)
こういった性質が関数にあるときに、これを演算子や優先順位に反映しておくと、見通しが良くなるのでこれを中心にして考えたほうが良いと思う。
関数名を真ん中に置く、演算子に優先順位をつける(分配法則用)、これが重要意味を持つときに演算子オーバーロードを考えるのが正しいと思う。

出力に関しては例えば、一旦文字列に変換する形式をとれば、
これには
"a" + ( "bc" + "def" ) == ( "a" + "bc" ) + "def"
のように結合法則があるのでこれは良いと思います。
ひと工夫すれば入出力ともにかなり面白いことができそうな気がしています。(出力形式を分配するとか)
いずれにしても、最近は演算子の意味が違うからダメという意見には賛成できないです。

0604デフォルトの名無しさんNGNG
ちなみにこんな物が欲しい

// 演算子の優先順位定義、さすがに宣言以下ファイル中全部に反映は厳しい。
operator VectorOperator
{
  infixl 2 `op` : Vector Vector::outerProduct( const Vector & , const Vector & ) ;
  infixl 1 + : Vector ::operator + ( const Vector & , const Vector & ) ; // 最近どの演算子が使われるかあいまいで困るので
  infixr 0 = : Vector & _( Vector & a , const Vector & b ) { a.Let( b ) ; return a ; } // 直接書けても良いと思う
} ;

// 利用の仕方
void test()
{
  using operator VectorOperator ;
  Vector a ;
  Vector b ;
  Vector c ;
  Vector d ;
  d = a `op` b + c ;
}
0605デフォルトの名無しさんNGNG
>>601
運用上どう考えても速くはならないよ。
プリコンパイルなしだと地獄。
0606デフォルトの名無しさんNGNG
>>602だった。
0607デフォルトの名無しさんNGNG
>>603-604
ML使えば幸せになれるぞ。たぶん。
0608デフォルトの名無しさんNGNG
>>607
C++でやれなきゃヤダ
0609デフォルトの名無しさんNGNG
そういうプリプロセッサを作ればいい
前にLISPで作ったよ
0610デフォルトの名無しさんNGNG
>>609
プリプロセッサじゃtemplateが使えないからヤダ
0611デフォルトの名無しさんNGNG
そろそろママ怒りますよ?(ベシッ
0612デフォルトの名無しさんNGNG
>>611
うえーんママの意地悪〜
0613デフォルトの名無しさんNGNG
プリプロセッサというか、トランスレーター作るという案は悪くない。
0614デフォルトの名無しさんNGNG
yaccなりbisonなりで好きな文法からC++コードを生成するようにすればいいじゃん
0615デフォルトの名無しさんNGNG
今、参考書のダイテル(C++)の本をやっているんでつが、この本は答えが
載っていない!
なので単独スレ[ダイテルの(C C++ Java)の練習問題の答え]を立てよう
と思っているんだがどう?
又そんな過去スレがあれば情報キボンヌ
0616デフォルトの名無しさんNGNG
VB/Delphi は IDE 上のエディタ中で随時字句解析をやっちゃうから速いのだと思ってんだが、違うのか?
0617デフォルトの名無しさんNGNG
>>616
違〜う
0618デフォルトの名無しさんNGNG
>>615
単発スレを立ててたっぷり叩かれてくれ。
0619デフォルトの名無しさんNGNG
>>616
Delphiは、コマンドラインでコンパイルしても速いからそれはないかな。
エディタで編集するとディスクキャッシュにひっかかって速くなるってのはあるだろうけれど。
ディスクアクセスは思った以上に遅いからね
0620529NGNG
Javaのコンパイルってちょっぱやなきがする。
IBMのVisualAgeを使った感想...
0621616NGNG
>>617
違うのか。認識改めてきます。

>>619
> Delphiは、コマンドラインでコンパイルしても速いからそれはないかな。
やっぱそうか、PASCAL は LR(2) がうんにゃら LL(1) がうんにゃらで
ユニット方式でうんにゃらとかよくわからん話を聞いたことがあるので、それで速いのかもしれないすね。

> ディスクアクセスは思った以上に遅いからね
というか、今の時代のボトルネックは多分ここですよね。ビルド中はアクセスランプつきっぱで
CPU利用率は思ったほど高くないみたいな。
0622616NGNG
>>620
JVM のバイトコードは Java からコンパイルし易いようにできてるとか。できてないとか。
そんな話を聞いたことがあるような、ないような。
0623デフォルトの名無しさんNGNG
おまえらRAMディスク使え
今はメモリ安いからガンガン積める
0624616NGNG
>>623
Win32 用のRAMディスクドライバってある?
DOS 時代は使ってたけど(640KB超えてる分)
たしかに今の時代にこそ欲しい仮想デバイスな気がしますね。
0625デフォルトの名無しさんNGNG
ファイルをマップして使っても変わらない?
0626デフォルトの名無しさんNGNG
Google Search: RAMディスク windows
http://www.google.com/search?lr=lang_ja&q=RAM%83f%83B%83X%83N+windows
0627デフォルトの名無しさんNGNG
>>620
VAJって変更箇所しかコンパイルしないよ。(インクリメンタルコンパイルって奴)
あれ、オレ違うこと言ってる?
ちなみに、VAJのVMはUniversal Virtual Machineってので、VisualAge Smalltalk
とかと同じ。何でVAJアボーンしたんだろ。プンプン。
0628デフォルトの名無しさんNGNG
> 何でVAJアボーンしたんだろ。プンプン。
極悪企業 S*N の陰謀。
SU* は MS 以上の殿様企業
0629山崎 渉NGNG
(^^)
0630デフォルトの名無しさんNGNG
>>624
今どきの OS だと、仮想記憶サブシステムや標準のキャッシュシステムが
充実してるから、わざわざ手作業で RAM ディスクを作るメリットは少ない
と思うぞ。
0631デフォルトの名無しさんNGNG
いまどきのコンパイラだと、ファイルの読み込み時間はコンパイル時間のうちの僅かでしかないよ。
RAMディスクなぞ使わず、通常利用のメモリーのままにしておくが吉、それよりキャッシュ大量に積め。
最近のCPU⇔メモリー間のスピードのギャップは半端じゃないぞ、今時のCPUは殆ど空回りだからな。
0632デフォルトの名無しさんNGNG
>>616,620
IBM のコンパイラだから速いんだと思うよ。
Sun の javac だと結構遅い。というか Sun のが遅すぎ。
0633デフォルトの名無しさんNGNG
c++ってhファイルの宣言とcxxファイルの定義別に書くけどあれは非常に面倒くさくて嫌い。
C#とかJavaはそこが楽だと思う。
0634デフォルトの名無しさんNGNG
しかし見通しが悪くなると言う諸刃の剣
0635デフォルトの名無しさんNGNG
>>634
その辺は JavaDoc なり XML Documentation なりを。
0636デフォルトの名無しさんNGNG
サビ残の徹底取り締まりを実現するスレ
http://society.2ch.net/test/read.cgi/soc/1058709814/
0637デフォルトの名無しさんNGNG
>633

Java、C#など→定義と実装を同時に書く
→そのためにコーディングは楽だが定義を一覧しづらい

Delphi、C++→定義と実装を別に書く
→そのためにコーディングで面倒な面がある。
  ソースを読むのは楽。

ていうのがあるんですが、
どちらにしろ、ツールを使えば解決する問題なわけで。。。

上の場合→定義を一覧できるIDEを使えば何の問題もない
下の場合→クラスウィザードなどを使えば、コーディングは上の場合と同じ

これからの時代は、プログラミング言語を語る時は
ツールの存在を前提として語るべきではないか?
テキストエディタでコーディングする時にどちらが便利か、
という議論は無意味でしょう。



0638デフォルトの名無しさんNGNG
IDEのクラスビューはそこそこ便利なんだけど、
クラスが多くなってくると重くなったり、メンバが名前順にソートされたり、
(普通メンバって関連するものをまとめて近くに書くじゃん?宣言の順番が理解の助けになったりする)
コメントも反映されないし。
ソース直接見た方がわかりやすいって事もある。

俺は最初Java風がいいと思ったけど最近はC++風を見直し中。
0639デフォルトの名無しさんNGNG
ある程度高機能なエディタを使いこなす奴は言語が変わっても巧く対処するが、
特定のIDEに特化した開発スタイルの香具師に限って他の環境に弱い罠。
0640デフォルトの名無しさんNGNG

ところがRAMディスクは再起動するとデータが消滅するという特性を生かして
作業場所とか出力先をこれにしておくと結構便利な罠。スピードのメリットはない。

>>637
Delは定義と実装別だけど、同じファイルの中に書くよ。
0641デフォルトの名無しさんNGNG
>>635
ソース見づらくても Doxygen なり JavaDoc なりでドキュメントを
書けばいいじゃんというのは、ドキュメント見てるだけで済む内は
幸せ。でもドキュメントを読みつつ、いざそのコードに手を入れよ
うと思うと、結局は手作業でソースを探して対応する行に飛ぶとい
う作業が発生するから、根本的な解決にはならない。

>>637
VC++.net の IDE は割とよくできてると思うけど、それでも
template 絡むとまだまだ。C++ template の仕様が逝ってる
のは確かだけど、あの複雑さは訳あってのことだから、俺には
非難できん。

俺のトコロだと、結局は C++ を素のエディタで書いてる。
ctags, etags あたりは必需品だけど。
0642デフォルトの名無しさんNGNG
>>639
まげしく同意同意。
IDE でしか作業した事ない香具師は他の IDE に馴染むのに時間かかるよね(過去の漏れ)。
汎用のテキストエディタである程度やってみると、いろんな IDE を意外と拒絶反応なく受け入れられるようになるよね。
0643デフォルトの名無しさんNGNG
でもVC,VBの Ctrl+R≠検索 だけは納得いかない。
0644デフォルトの名無しさんNGNG
検索はCtrl-sだな
0645デフォルトの名無しさんNGNG
/
0646デフォルトの名無しさんNGNG
ここに居るのは、20〜30歳代の連中がほとんどだと思うが、
お前らの上司は、ちゃんとC++理解してるか?
オブジェクト指向なプログラミングも含めて。
0647デフォルトの名無しさんNGNG
バリバリの現役COBOLerですが何か?

でもCOBOLerの「実力」が発揮されるのはRDBMS開発の時だと言ってみる。
0648デフォルトの名無しさんNGNG
>>646
上司は理解できていませんが、開発には携わらないので無問題です。
つーか、現場トップは私だ。文句なんか言わせるもんか。
0649デフォルトの名無しさんNGNG
上司クラスになっちゃえばもう全然パラダイム違うから問題なしでしょ。
お互い違う世界に生きてる事を自覚してるし。
問題なのはちょっと上の先輩クラス
差分プログラミングとかを OO だと勘違いしてたりする。
藻舞頼むからそこに virtual 付けとけと小一時間。
0650デフォルトの名無しさんNGNG
上司がC++を禁止してCで組むことを強制する職場もあるわけだが
C++を間違った知識で批判してるし
説明しても聞いちゃいねぇ もー絶滅してケロ
0651デフォルトの名無しさんNGNG
何だかなー。
「C++はダメ。Javaを使え」
というのは分かるが
「C++はダメ。C言語を使え」
というのはよく分からないな。
0652646NGNG
>>648
> >>646
> 上司は理解できていませんが、開発には携わらないので無問題です。
> つーか、現場トップは私だ。文句なんか言わせるもんか。

 そういう環境は、問題ないね。
 理解出来てない上司の方が有難い。
0653デフォルトの名無しさんNGNG
>>649
> 上司クラスになっちゃえばもう全然パラダイム違うから問題なしでしょ。
> お互い違う世界に生きてる事を自覚してるし。

 自覚してれば、どっちにしても問題ないだろうけどね。

> 問題なのはちょっと上の先輩クラス
> 差分プログラミングとかを OO だと勘違いしてたりする。
> 藻舞頼むからそこに virtual 付けとけと小一時間。

 そういう先輩クラスの人間が上司だったら、
 最悪なんだな。
0654646NGNG
>>650
> 上司がC++を禁止してCで組むことを強制する職場もあるわけだが
> C++を間違った知識で批判してるし
> 説明しても聞いちゃいねぇ もー絶滅してケロ

 やはり、そういう上司のいる会社があるんだなぁ。
 いやー、可愛そう。

 え、オレ?
 オレは、上司も部下もいないから、好き放題。
0655646NGNG
で、職場開発中に分からないことがあった場合、
仲間に教えてもらうのか?
上司に内緒で 2chしてるとか?
C++が難しいと思うのは、本当に初心者だろうか?
確かに言語としては初心者にとっては難しいだろうけど、
ooは、初心者にとっては、そんなに難しくないと思う。
手続き型言語での開発実績がある経験者の方が
考え方を切り替えられなくて、難しいんじゃないかな。
で、650のような事言いだす、上司が現れたりする。
0656デフォルトの名無しさんNGNG
C**という言語を作ってみようと思う。
・・・シェルから実行できないな。
0657デフォルトの名無しさんNGNG
C!!のほうがいい
0658デフォルトの名無しさんNGNG
C[[がいい
0659デフォルトの名無しさんNGNG
C{}だろ?
0660デフォルトの名無しさんNGNG
(C)
0661デフォルトの名無しさんNGNG
©
0662デフォルトの名無しさんNGNG
ネタスレになりました。。。
0663デフォルトの名無しさんNGNG
>>662
はじめからネタスレです。。。
0664デフォルトの名無しさんNGNG
>>655
> C++が難しいと思うのは、本当に初心者だろうか?
> 確かに言語としては初心者にとっては難しいだろうけど、
> ooは、初心者にとっては、そんなに難しくないと思う。
> 手続き型言語での開発実績がある経験者の方が
> 考え方を切り替えられなくて、難しいんじゃないかな。
このへん同意。
0665デフォルトの名無しさんNGNG
>>664
キチガイ発言に同意すんなよ
0666デフォルトの名無しさんNGNG
どの辺がキチガイなのさ?
逃げないで教えてくれ。マジで頼む。
0667664 (!=666)NGNG
漏れも聞きたいな。
0668デフォルトの名無しさんNGNG
>>666,667
自分に理解できないものを理解できる奴を羨んで言ってるだけだ、スルーしる
0669デフォルトの名無しさんNGNG
変な煽りと自作自演なところ
0670オカマ=ザピNGNG
ジサークジエン!
0671C++マンセーNGNG
あなた、いつまでも変わらないのね。
ああ、僕はconst型だ。

0672C++マンセーNGNG
この箱には何でも入る。
0673646NGNG
653は、ハンドル 646 を入れ忘れたけど、
それ以外は、646付けてるからね。

頭の固い上司は、部下への指示そのものが、
手続き型言語でのコーディング的な指示をしてそうだな。
あれしろ、これしろ、と、いちいちやり方をうるさく指図しそう。

OOが分かってる上司は、あれとこれと組み合わせて、
適当にやっとけ、あれとこれさえしっかり押さえておけば、
後でなんとでもなるからな。
というような指示を部下に出しそうだな。
0674デフォルトの名無しさんNGNG
漏れの上司は
「プログラマーにもっとも必要な能力は責任感、そして無精であることだ」
と堂々と言う。
0675デフォルトの名無しさんNGNG
俺も>>664の引用に同意・・・
0676C++マンセーNGNG
>>673
ああ、
新しい仕事の仕様書は

びっくりするほど手続き型。

びっくりするほど手続き型。

びっくりするほど手続き型。

チクショウ
0677デフォルトの名無しさんNGNG
あ〜あ、こわれちゃった
0678デフォルトの名無しさんNGNG
>>674
上司正しいよ

無精であることは重要
0679デフォルトの名無しさんNGNG
C++が難しいのはVCのせいだと思うんです
VBみたいなC++ってないですか?
0680デフォルトの名無しさんNGNG
>>679
VC++.NETはVBみたいな(以下略
0681デフォルトの名無しさんNGNG
>>679
VBみたいなの意味がわからないけど、
RADということなら、BCB、VC++.NETがそれにあたる。
コードでGUIを作るのは確かに難しい。ポトペタが楽。
0682デフォルトの名無しさんNGNG
>>679
あってると思う。
C++が難しいのではなくてVC++が難しい。

ボタンとかも作りにくいし
変数とか、関数を作るのにも、ツール操作で作り自動的に
コードを書いて便利なはずだが、初心者にとってはいい迷惑なだけで
まったく理解できなくなる。
コードがいっぱいかかれ、「mainはどこだよ!?コン畜生!」と思いVC++断念。
ダイアログを出してメッセージのやり取りまでがなんと難しいこと。

だから自分は、すべてフリーのBCB5.5&秀丸でアプリケーション作成している。
こっちのほうが楽?
0683デフォルトの名無しさんNGNG
C++Builderってそうなんじゃないの?
C++のVB版(?)って聞いたような・・・
0684デフォルトの名無しさんNGNG
ドスケベホイホイで逝ってしもた
http://www.boreas.dti.ne.jp/~keitarou/
0685デフォルトの名無しさんNGNG
>>682
フリーのBCB5ってなんだよ?
ちゃんと金払え。
0686GET! DVDNGNG
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★☆★☆★ 新商品 ゾク・ゾク 入荷 ☆★☆★☆
★☆                       
☆★ 送料激安!!  送料激安!!  送料激安!!
★☆      http://www.get-dvd.com.tw      
☆★  激安アダルトDVDショップ        
★☆    お買い得!! 1枚500円〜 急げ!   
☆★    インターネット初!「きたぐに割引」  
★☆    北海道・東北の皆様は送料も激安!   
☆★      http://www.get-dvd.com.tw      
★☆        スピード発送!        
☆★      http://www.get-dvd.com.tw      
★☆        商品が豊富!         
☆★      http://www.get-dvd.com.tw      
★☆                       
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0687682NGNG
>>685
アホか、フリーのコンパイラがあるんだよ。

0688デフォルトの名無しさんNGNG
>>682
> C++が難しいのではなくてVC++が難しい。
でも結局そうなってしまったのはライブラリがC++で作られていたからだったりする。
BCBなんてOWL(C++ライブラリ)を捨ててVCL(Delphiライブラリ(not object pascal))使っているしな。
0689直リンNGNG
http://homepage.mac.com/maki170001/
0690デフォルトの名無しさんNGNG
>>687
アホはおめーだ。フリーのコンパイラはBCCだ。
ついでに言えばGUIライブラリはついておらず
GUI作成はMFC以上に難しいぞ。
メッセージボックス出す程度なら簡単だがな。
お前フォーム作れないだろ。
0691682NGNG
>>690
なるほどね、多分もっともな意見だ。

フォームは難しいが、VC++でお絵かきするとスクリプトが吐き出されるだろ。
拡張子は忘れたが、そのファイルから、切り取って持ってくる。

GUIを作る際に秀丸で一から書き上げることで、俺の気がつかないうちに
VC++が勝手に邪魔しないですむ。だから全て動作を把握できる。

正直お勧めできない。
0692デフォルトの名無しさんNGNG
援交女をビデオに収録
当然モザイクなし!
ちゃんと確認できるよ
http://www.cappuchinko.com/
0693デフォルトの名無しさんNGNG
玄人にもお勧めできない
0694デフォルトの名無しさんNGNG
秀丸って辺りが難だが・・・
VC++が難しいのではない、MFCの仕様が変なのだ。
0695デフォルトの名無しさんNGNG
BCBだと1日の仕事が、
VC++だと一週間以上の仕事になったりする。
それがGUI。
恐るべし。
0696デフォルトの名無しさんNGNG
C++なら、GUIは自分でライブラリ組んで作ってみろ。
ちなみに俺は全てのメッセージで"Onなんとか"メソッドを呼び出すWindowのクラスを作り
それから派生させてButtonとかGroupBoxとか作ってる。必要な仮想関数をオーバーライドして。
一回ライブラリを作れば楽だよ。
ちなみにウインドウは
RWindow r;
r.Create(NULL,"aiueo","class1",0,0,200,200);
これだけで出る。(Rは僕の名前のイニシャル)。まあ何もしないウインドウを出すなんてまれだけど。
あとはC#のようにWindowクラスを継承した新しいWindowクラスを作り、そこにButtonやGroupBoxをメンバ変数として宣言する。
そいつらからのメッセージは最初のRWindowで定義されたOnCommand(RWindow* r)等のメソッドで全て拾うことができる。
この親ウインドウに送られてくるメッセージには発生したクラスのポインタが入っていて、上手い具合にRWindowにポリモーフィズムして、Javaのようにsender(引数) == &Button1(メンバ変数)というふうに比べることができる。
まあ、こんなスペースでは全てを語ることはできないけど、メッセージの処理を上手く表現することが天国への鍵だね。
ちょっと工夫すれば面倒くさいウインドウプロシージャの定義は1個だけで済む。
最近は自作GUIも作ったりなんかしてるね。おもしろいよ。
はっきり言ってダイアログエディタでダイアログ作って個別にウインドウプロシージャ定義してDialogBoxで表示なんて、馬鹿のすることだよ。
0697デフォルトの名無しさんNGNG
>一回ライブラリを作れば楽だよ。
そのまともなライブラリを作るのが大変なんじゃないかぁ。
それにコントロールのレイアウトどーすんだよ・・・。
0698デフォルトの名無しさんNGNG
>>697
レイアウトなんて紙に書けばいいんだよ。
ちなみにこのライブラリはゲームのエディタ作ろうかと思い立って3日で書いたけどライブラリとしてそれなりの形になったよ。
0699デフォルトの名無しさんNGNG
>>695
VC++だと可能なことが、
BCB/BC++だと不可能であったりもする。
0700デフォルトの名無しさんNGNG
おれは基本的にダイアログベースアプリだが。
これで別に不自由したおもいはないね
0701デフォルトの名無しさんNGNG
へーそうですか。
0702696NGNG
ま、ダイアログベースにも良い所はある。
バカは言い過ぎた。
俺はなんでもかんでもカプセル化してしまう性質だから。
0703デフォルトの名無しさんNGNG
公開してくれ
0704682NGNG
>>696
肝心な部分は非公開で、ライブラリだけずらずら載せてあった"使えない本"で>>696
と同様に、Windowsの初期画面をクラス化していたので自分も試みたが出来んかった。
以下の関数部分をクラスのメンバーに出来なかった。

int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hInstance ,PSTR pstr, int c )

LRESULT CALLBACK WndProc(HWND hwnd , UINT msg , WPARAM wparam , LPARAM lparam)


どうやっているのか俺も興味あります。
キボンヌ。
0705デフォルトの名無しさんNGNG
>>704
696じゃないけど、単にstaticにするだけだよ
0706デフォルトの名無しさんNGNG
>>704
おっと、WinMainはスタートアップから呼ばれるんだから無理だよ?
0707696NGNG
>>704
俺はMainはそのまま使ってる。

WndProcは、メソッドを直接RegistWindowに渡すのではなく、まず1つだけ普通の関数として定義する。
LRESULT WndProc(HWND hwnd , UINT msg , WPARAM wparam , LPARAM lparam)
{

}
で、ウインドウクラスの中に
LRESULT MyWndProc(HWND hwnd , UINT msg , WPARAM wparam , LPARAM lparam)
というメソッドを作るの。
そして、さっき定義したProc↓の中で
LRESULT WndProc(HWND hwnd , UINT msg , WPARAM wparam , LPARAM lparam)
{
window->MyWndProc(hwnd,msg,wparam,lparam);
}
と直接ウインドウクラスのメソッドにパラメータを渡してやるわけ。
俺はウインドウクラスをvectorで持ってHWNDが一致したウインドウクラスのMyWndProcを呼び出してやってる。
705はもっと良いアプローチなのかもしれないけど、これはこれでいける。
0708696NGNG
return window->MyWndProc(hwnd,msg,wparam,lparam);
ね。
0709696NGNG
何度もスマソ
static LRESULT CALLBACK WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
return window->MyWndProc(hwnd,msg,wparam,lparam);
}
0710デフォルトの名無しさんNGNG
>>707
>window->MyWndProc(hwnd,msg,wparam,lparam);
そのwindowはどっから引っ張ってきた?
やっぱGetWindowLong?
内部定義ありの言語(Schemeとか)だと
直接上位のローカル変数とか見えるんだけどね。
0711682NGNG
>>706
WinMainなしで、どうやってGUI画面起動するのでしょうか?

それがよく分からない。

だから、WinMainをクラスの外部に置いて・・と、いろいろやったけど

>>707
なるほど。
WinMainはむき出しですね・・?
本のサンプルは、
include "win.h"

main(){
WIN win;
win = new Create(...)
}

みたいな感じ。これだとすっきりして美しいと思う。
>>705さんが言ってるのはこういうのことなのかな?
0712696NGNG
>>710
WindowListっていう全てのウインドウのハンドルへの参照を保持するクラスがあって、forで回して一致したものを持ってくる。
上のコードはその辺略してるけど
0713デフォルトの名無しさんNGNG
Delphiなら10分でできるGUI設計に
JavaやVisualC++だと数時間かかる。。。。

これを不条理と呼ばないで何と呼ぶのか。。。。
0714デフォルトの名無しさんNGNG
>>712
なるほど。
その作りは窓増えるとオーバヘッドが気になってくる。
そろそろコールバックも言語機能の一部になって欲しいね。
GUIでは必ずと言っていいほど使う仕組みだし。
0715デフォルトの名無しさんNGNG
VCLが楽でいいね
0716デフォルトの名無しさんNGNG
>>713
C#でも10分・VBでも10分・Forte(Java)でも10分
0717デフォルトの名無しさんNGNG
>>713
それは単にあなたがDelphiに慣れているだけかも知れない。
0718デフォルトの名無しさんNGNG
Delphiは独自&後発だけあって自由度高い(=某の思うが侭)ね。
実質Windowsでしか使えないけど。
0719デフォルトの名無しさんNGNG
C#は独自&後発だけあって自由度高い(M$の思うがまま)ね。
実質Windowsでしか使えないけど。
0720デフォルトの名無しさんNGNG
Javaは独自&後発だけあって自由度高い(M$の思うがまま)ね。
クロスプラットフォームだけど。
0721デフォルトの名無しさんNGNG
>>714
C# の event がそうじゃない?

>>718
ヘジたんがM$に買収されちゃったから
そのDelphiの精神も今はC#に受け継がれてるわけで。
0722713NGNG
ていうか。。。

C++のSTLなんかは「意味のある複雑さ」なんだけど
VisualC++のGUI設計(というかMFCの出来?)は
何の意味のない複雑さなんだよな。。。

オレはVisualC++をやって挫折して、
その後Delphiに移ったんだけど、
VisualC++で色々考えるべき複雑な部分は
何の意味もない複雑さだったと気づいた。。。
0723デフォルトの名無しさんNGNG
MFC(VC)はWin32APIに精通していなければ使えない代物だが
VCL(BCB,Delphi)はそれだけで十分使える
0724デフォルトの名無しさんNGNG
C#もそれだけで使える。ライブラリもVCLより強力。
0725デフォルトの名無しさんNGNG
そうか、C#に手を出してみるか
0726デフォルトの名無しさんNGNG
C#は残念ながらスレ違いだなあ。
Delphiも。
0727デフォルトの名無しさんNGNG
>>726
まあ、ある意味、このスレで叩かれまくってるような部分に
嫌気が差したから Delphi やら C# が開発されるに至ったわけで。
0728デフォルトの名無しさんNGNG
でさ、MFC掲示板なんかでよく見かける
「これくらい初歩ですから自分で調べてください」
ってコードがWin32APIばりばりだったりするんだよね。

APIなんか叩きたくないからMFC使ってるのに、
MFCでもできることをなんでAPIでやらないかんのかね。
#おまけにそういうコードに限ってC(=C++の機能を使わない)だし。
0729デフォルトの名無しさんNGNG
いまだにVC++を使い続けている会社が沢山あり
顧客はVC++での見積もりと比較してくれるから
おいらはDelphiを使って余裕で仕事ができます

感謝、感謝
0730デフォルトの名無しさんNGNG
エンドユーザは素人だし、
一次受けはVC++の見積もりでエンドユーザから仕事を取ってくる。
お蔭で私はVC++のために確保された期間を使ってのんびり仕事ができるわけです。
0731713NGNG
CodeProjectというVisualC++のサイトがあるんだが
ここに「Outlookスタイルの3ペインのサンプルソース」というのがあって、
VisualC++を始めた頃、そのソースを見て必死で真似ようとしてた。


で、Delphiに移ると。。。。

同じことが10分でできるやん。。。。
VisualC++をやってた頃の苦労は何だったのか。。。。
0732デフォルトの名無しさんNGNG
codeguruのほとんどのコードは無駄な気がする
0733デフォルトの名無しさんNGNG
>>731
VC++.NETなら5分だぞ。
0734デフォルトの名無しさんNGNG
>>733
どーゆー意味なの?
VC#.NETのまちがい?
それともmaneged?
VC++.NETでも結局MFCじゃないの?
0735デフォルトの名無しさんNGNG
>>734
Managed C++ 使えば C# や VB.NET と大差ないってことじゃない?
素人さんにはネイティブ C++ と Managed C++ の違いなんて分からないと。
まあでも、VC++ .NET って MFC アプリ作成ウィザードも使いやすくなってるよ。
0736デフォルトの名無しさんNGNG
>>735
便乗質問だけど、VC++.NETでMFCアプリを作って、
ビルドしようとすると、「それは古い形式です」みたいな警告でない?
あれって、「ネイティブにコンパイルしますよ」って意味なのかな。
0737デフォルトの名無しさんNGNG
Blake Stowell: C++ is one of the properties that SCO owns
today and we frequently are approached by customers who wish
to license C++ from us and we do charge for that. Those
arrangements are done on a case-by-case basis with each
customer and are not disclosed publicly. C++ licensing is
currently part of SCO's SCOsource licensing program.

http://mozillaquest.com/Linux03/ScoSource-02_Story03.html

C++もおしまいですね。


0738デフォルトの名無しさんNGNG
>>737
英語読めないけどなんとなく。。。


C++ってライセンスフリーじゃないってこと!?
よーはgif, mp3の悪夢到来!?
0739デフォルトの名無しさんNGNG
>>738
大丈夫大丈夫。SCOといえばLinuxのコードに盗用があるとか言って訴訟を起こしているが、そのせいで誰も信用してないし
0740デフォルトの名無しさんNGNG
14 名前: いやく部門 投稿日: 2003/08/06(水) 17:52
Blake Stowell: SCOは現在、C++の所有権を有している。
SCOは顧客から、C++をライセンスしたいとの相談を受けることがよくあり、
そのような場合、ライセンス料を徴収している。
このような処置は顧客ごとにケースバイケースで行われており、
公に公開されたものではない。
C++のライセンシングはSCOのソースライセンスプログラムの一環である。

15 名前: Kent.N 投稿日: 2003/08/06(水) 17:54
Blake Stowell:C++はSCOが今日所有する資産の一つで、
我々からC++のライセンス供与を受けたいというお客様は
ひっきりなしにいらっしゃるので、実際にそうしています。
具体的な内容はお客様ごとにcase-by-caseで、第三者に
明らかにしない方針とさせていただいています。
C++のライセンス供与は現在SCOのSCOsource licensing programの
一部になっております。

http://jbbs.shitaraba.com/computer/bbs/read.cgi?BBS=5651&KEY=1049123895&START=13
0741デフォルトの名無しさんNGNG
VCとかBCCのC++もSCOのらいしぇんす必要ですの?
0742デフォルトの名無しさんNGNG
>>741
どんなC++にも必要ない訳だが
0743デフォルトの名無しさんNGNG
>>736
VS.NETは翻訳をゴミ(プログラマに非ず、VSを一度も使ったこともありません)に委託してしまったためそこらじゅうに誤訳がちりばめられてるだけ。
0744デフォルトの名無しさんNGNG
>>547
> だから、C# では演算子をオーバーロードできるけど、
> << をストリーム入出力には使ってない。
というか、C#の==勝手なオーバーロードは余計なお世話でウザイ
0745デフォルトの名無しさんNGNG
>>620
Eclipseにしろや。
保存と同時にコンパイルだ
0746デフォルトの名無しさんNGNG
>>632
> >>616,620
> IBM のコンパイラだから速いんだと思うよ。
> Sun の javac だと結構遅い。というか Sun のが遅すぎ。
Eclipse使えばそんなことほとんど気にしないのだが。
いまどきVisual Age for Javaは使わない。

そんなに遅いと感じるとは、J2SEのバージョンが古いだけなんじゃないかね。
0747デフォルトの名無しさんNGNG
>>745,746
EclipseはSunのコンパイラではなく内部で独自コンパイラを使っている。

そもそもjavac以外にjikesとか使ってベンチマークとったことあるかい?
5〜10倍は違うぞ。
0748デフォルトの名無しさんNGNG
>>747
まるでEclipseがJ2SEを一切使っていないかのような発言。
IBM JDK使っては最新版JDKにあわせたコードをEclipseでコンパイルできるかおい。

その5〜10倍も、2秒が0.2秒になった程度ならまったく苦にならん。
0749デフォルトの名無しさんNGNG
JDKとコンパイラが同じ物だと思ってる?
0750デフォルトの名無しさんNGNG
複数のバージョン違いのJDKを入れていれば
どれを使うか選択できそれにあわせてコンパイルするが。
0751デフォルトの名無しさんNGNG
一連の発言を見ると「C++は難しすぎ」というスレには、
大量のJava厨がいるということでよろしいですね。
0752デフォルトの名無しさんNGNG
>>751
同意
ていうかJavaは余所のスレに逝ってやれボケ共。
0753デフォルトの名無しさんNGNG
EclipseでC++ってどうよ
0754デフォルトの名無しさんNGNG
話にならない
0755デフォルトの名無しさんNGNG
>>751-752
C++ に挫折していなければこんなスレ来ないからな。
まあたしかに C++ は(平均的プログラマには)難しすぎだとは思うけど。
0756デフォルトの名無しさんNGNG
自分の現状のスキルを割り切って妥協できる人でないと
(C++ を使うのは)難しぃ。

割り切りつつも知らない部分を自主的に勉強できる人でないと
(C++ を C++ として使いつづけるのは)難しぃ。
0757デフォルトの名無しさんNGNG
>>748,750
J2SDKの入っていない環境にEclipseだけ入れてもコンパイルできるのは知ってていってる?
0758デフォルトの名無しさんNGNG
>>751
まあチミにとっては「俺様はポインタ演算でも
メモリリークでもバグ大量生産でもなんでも悪循環おこすことができるから
Java厨よりも偉い」と思い込み勘違いしたいのだろうな。
0759デフォルトの名無しさんNGNG
>>755
> >>751-752
> C++ に挫折していなければこんなスレ来ないからな。
> まあたしかに C++ は(平均的プログラマには)難しすぎだとは思うけど。

いや違う。俺様は>>6や>>15のなどのような発言に納得できないからレスしているだけだ。
おぬしも勘違いするな。

それから、スパゲティしか掛けない奴が「C++はJavaよりも
低レベルなことでなんでもできるからJavaより上だ」
とか勘違いしている香具師の傲慢さが疳に障る。

そのような勘違い発言は
このスレを見ているこれからプログラミングをしようとするものに誤解を与える。

プログラマは、自分だけわかればいいというCOBOLer的な独りよがりな
コーディング、あるいは、わざとソースコードを読みにくくする戦術を用いて
チームや引継ぎ人にプログラムの解析に時間を掛けさせるようなコーディングを
すべきではない。C++ではそれが簡単にできてしまう。たとえチーム内でC++の
コーディング規約を定めたとしても人間のアナログ的なミスでコンパイラが規約
を簡単に破ることができてしまう。人間は機械より信用できない。

また、C++は、皮肉にもソースコードをわざとい無駄に複雑にし
読みにくくすることで自分のプログラミングスキルをごまかすことも容易である。

このスレッドのC++厨には「分割し、統治せよ」の原則などを知らないものが多い。
XPやRUPが有名になってきている今となっては、考えられないことだ。

C++よりも高度なセキュリティモデルを持つJavaでは、コンパイラのチェックが
厳しいためこのような陰湿なことはやりにくい。
C++ではこのようなごまかしが簡単にできてしまう。
GNUオープンソースではこれらのようなC++特有の誤魔化しは許されないことだ。
0760デフォルトの名無しさんNGNG
このスレのC++厨には「反復型開発」を知らないものが多いw
0761デフォルトの名無しさんNGNG
「うまいプログラマは複雑な物をシンプルに書き、
 ヘタクソはシンプルな物を複雑に書く。」

どうもC++プログラマはJavaを貶そうとすると
シンプルな物を複雑に書く「ヘタクソ」とJavaプログラマに思われるみたいだぞ。


0762デフォルトの名無しさんNGNG
>>759
言語に優劣をつけてそれがあたかもその言語を扱うプログラマの優劣であるかのようにえばりちらすのは残念ながらJava厨の得意技だ
0763デフォルトの名無しさんNGNG
jikesが速いのはC++で書いてるからだろ。
0764デフォルトの名無しさんNGNG
>void foo(int &n);
>void bar(int *n);
なんと難解でコ汚い言語ですな(プ
0765デフォルトの名無しさんNGNG
人付き合いはいいけど底が浅くて分かりやすい香具師より
ちょっととっつき難いけど懐が深くて切り口も多い奴の方がいいなぁ。
0766デフォルトの名無しさんNGNG
オレもC++勉強中だけど、そんなに難解かなぁ?
独習C++やってて思ったけど、VC++を前提にしたC++の本は
確かに難解だと思う。
素直にCの拡張版と考えて、まずは標準入出力で一通り覚えるべき。

C++を勉強してて、グっときたのが汎用関数(汎用クラス)。
ちょーかっちょえーっすよ、コレ。
0767デフォルトの名無しさんNGNG
>>759
> 自分だけわかればいいというCOBOLer的な独りよがりな
COBOLer は馬鹿に徹して頑張れば誰でもわかるようなソースを書くよ。
残念ながら藻舞は何も知らん若造ということよ。

> また、C++は、皮肉にもソースコードをわざとい無駄に複雑にし
> 読みにくくすることで自分のプログラミングスキルをごまかすことも容易である。
同意できる反面、知らない文化をこう言って逃げる香具師が多くいるのも事実。
C++ のマルチパラダイム性の産んだ悲しい事実だ。
とは言え俺もいつでもどこでもポインタ演算厨は好きではないのであまり偉そうにはいえぬが。

0768デフォルトの名無しさんNGNG
>>766
独習C++ぐらいで・・・・ 何を偉そうに・・・・
Exceptional C++ / Modern C++ Design あたりを
読んでC++の深さを知るが良し
0769767NGNG
忘れておったが
> > 自分だけわかればいいというCOBOLer的な独りよがりな
> COBOLer は馬鹿に徹して頑張れば誰でもわかるようなソースを書くよ。
> 残念ながら藻舞は何も知らん若造ということよ。
COBOLer が難解なソースを書く場合の多くは
初心者のプログラムと同じで、まともなスキルを持っていないだけの場合がほとんどだよ
0770デフォルトの名無しさんNGNG
>>768
了解しますた。
次のターゲットとして読ませていただきます。
日本語版が出ている事にほっとしているあたり、
我ながらダメダメですが。

テンプレートって、概念がすごくカッコイイじゃないですか。
「どんな相手だろうが、女を口説くってのは結局こういうことさ」
とのたまうバーの渋い中年みたいで。

でもそのシブイ中年の台詞を生んだ背景を考えると、
さんざん同じこと繰り返して、いまさらそんなこと気づいても
ってころになって、突然使えるようになる機能なんだろうなー、
とも予想されるけど、オレの考え方間違ってますか?
0771デフォルトの名無しさんNGNG
>>770
まちがってる。
テンプレートは凝ると難しいけど凝らなきゃ簡単なので、
> さんざん同じこと繰り返して、いまさらそんなこと気づいても
> ってころになって、突然使えるようになる機能なんだろうなー、
ってことはない。

テンプレートは、それがあなたにとって有益なうちに、
じょじょに使えるようになって行きます。
0772デフォルトの名無しさんNGNG
最初は先人の作ったテンプレートを利用するところから入り、
そのうち作りまくるようになり、
いずれポイントを弁えるようになる。

そこまでいけば、渋い中年だ。w
0773デフォルトの名無しさんNGNG
>>771
なるほど、そうするとC++にテンプレートを組み込んだ
プログラマ的には・・・

「Exceptional C++」をさっそく買ってきたつもりが、
読んでみると独習C++と大差ない、
っていうか独習のほうがくわしかったような・・・




・・・て、これ「Effective C++」じゃんッ!
朝一番から3800円やられたッッ!
0774デフォルトの名無しさんNGNG
しつもーん

VCって100%C++の仕様でつか?
0775デフォルトの名無しさんNGNG
>>766,>>770,>>773
おまえ中学生だろ
0776デフォルトの名無しさんNGNG
やはりプロのコーディングは演算子を定義しまくり
演算子で全てを処理するのがスマートなコーディングと
言える
0777デフォルトの名無しさんNGNG
>>776
いいすぎ。
釣りか?
0778デフォルトの名無しさんNGNG
>773
「Effective C++」は、買って損はないです。つーかC++プログラマには必読書のひとつだと言われています。
初心者向けにC++の文法を網羅した独習書ではないので、くわしくないように見えるかもしれませんが、いずれこの本のすごさを知るときがきます。
「more Effective C++」という続編がありますが、こちらは残念ながら訳がひどい!
「Modern C++ Design」 は、「Effective C++」とつながりがあります。
究極のテンプレート活用術という扉の言葉に嘘はありません。まさに眼からうろこのテクニックがつまっていてテンプレートの奥の深さを思い知らされます。「Effective C++」の著者Scott meyersさえ同じ感想を漏らしています。
ただこの本は難解ですので、ある程度立ち読みして、自分が内容を理解できるレベルに達しているかどうか確かめてから購入するほうがいいです。
0779デフォルトの名無しさんNGNG
いくら一生懸命覚えたところでJavaのが生産性が高いんだけどな(藁
0780デフォルトの名無しさんNGNG
さぁ、燃料が補給されました
0781デフォルトの名無しさんNGNG
日本語が不自由な人にとってはね。
0782デフォルトの名無しさんNGNG
javaチューキター・・・
0783デフォルトの名無しさんNGNG
オクタン価が・・・w
0784デフォルトの名無しさんNGNG
C++はオーバーヘッドが大きすぎて完璧主義者の俺には使えない
アセンブラ以外は音楽で言うと大衆音楽って感じ
俺の使ってるアセンブラは芸術作品って感じがする
アセンブラはバッハC++はテクノjavaはスマップbasicはみんなの歌って感じ
0785デフォルトの名無しさんNGNG
あと、デルファイとかのボーランド系のは演歌や民謡
0786デフォルトの名無しさんNGNG
暑いな・・・
0787デフォルトの名無しさんNGNG
クーラーホスィ…
0788デフォルトの名無しさんNGNG
コンピュータを冷やすためにクーラー入ってるだろ
端末部屋には無いのか?_| ̄|○
0789_NGNG
http://homepage.mac.com/hiroyuki45/
0790デフォルトの名無しさんNGNG
>>788
田舎をなめるなよこんちくしょー。

しかし風が出てきて涼しくなった。助かった…。
0791デフォルトの名無しさんNGNG
C++ってホントに難しい。
0792デフォルトの名無しさんNGNG
C++ってグローバル変数使わないとダメなんてキモイ
0793デフォルトの名無しさんNGNG
>>792 お前の限界。
0794デフォルトの名無しさんNGNG
>>793
DirectXのチュートリアルでグローバル変数使ってます
ソレより何よりmain関数がクラスじゃないなんてキモすぎます
0795デフォルトの名無しさんNGNG
>>794
1. チュートリアル作った奴の問題なだけ
2. むしろエントリポイントがクラスである必要もないな。
0796デフォルトの名無しさんNGNG
グローバル変数を使わないほうがいいというは間違った考え方
使ったほうが便利なのでドンドン使おう
0797デフォルトの名無しさんNGNG
>>778
そうなのでつか。了解しました。夜読んでみます。

自分は研究室の実験機器を制御できたら、と思ってCを選んだのですが、
Windowsでのドライバ開発って金かかるんですね・・・
0798デフォルトの名無しさんNGNG
>>772
20代で中年扱いは早すぎ
0799デフォルトの名無しさんNGNG
>>796
> グローバル変数を使わないほうがいいというは間違った考え方
> 使ったほうが便利なのでドンドン使おう
それは危険な思想だ。
しかしそれは釣りだよな
0800デフォルトの名無しさんNGNG
グローバル変数は絶対に使ってはならないもの。
0801デフォルトの名無しさんNGNG
グローバル変数は
あんまり本に書いてあることとか鵜呑みにしないほうがいいよ
ある程度プログラムが組めるようになると使える事が分かる
directxの例でもわかるようにアメリカでは使うの常識
それに比べて日本は遅れてるようだね
0802デフォルトの名無しさんNGNG
>>801
お前の脳が古いだけだな。
0803デフォルトの名無しさんNGNG
ま、使わなかったからってどうかなるものでもないし >>グ口―バル変数
0804デフォルトの名無しさんNGNG
グローバル変数なんて使わずシングルトンにすべき!!
0805デフォルトの名無しさんNGNG
シングルトンってなに?
0806デフォルトの名無しさんNGNG
>>805
グローバルインスタンス
0807デフォルトの名無しさんNGNG
グローバル変数の代わりに、
スタティックなオブジェクトを生成して
そのメンバを全てpublicにすれば無問題。
0808デフォルトの名無しさんNGNG
>>801はシングルトンを使っているプログラムを書くのが
アメリカでは常識といっているのだろう。

シングルトンは使い方を間違えるとグローバル変数のように
恐ろしいものになる。

>>801はなかなか引っ掛けたな。
0809デフォルトの名無しさんNGNG
お前らのIQの総和は256くらいだろ。
0810デフォルトの名無しさんNGNG
>>805
まあデザインパターンの本かサイトでも嫁
0811デフォルトの名無しさんNGNG
>>809
中にIQがマイナスになっている香具師がいるみたいだね。
0812デフォルトの名無しさんNGNG
>>807
それってグローバル変数と変わらないじゃん
0813デフォルトの名無しさんNGNG
>>807はnamespaceを知らない知障
0814デフォルトの名無しさんNGNG
>>812
カプセル化するとあとでいいことあるよ。
0815デフォルトの名無しさんNGNG
Delphi、C#、VB.NETに比べてVC++は意地悪であんな仕様にしてるとしか思えない
0816デフォルトの名無しさんNGNG
しかし不正アクセスされたらもとも子もない罠。
言語仕様で制限かけれてもこれには歯が立たないだろう。
0817デフォルトの名無しさんNGNG
Del,VB.NETは移植性も互換性も必要ないし、開発ツールに都合が良いように作られているからな。

C++BuilderのDelphiに対する「コンプレックス」をみると泣けてくる…
0818デフォルトの名無しさんNGNG
>>807はpackageを知らない知障
0819デフォルトの名無しさんNGNG
>>813はメール欄を読めない(以下略
0820デフォルトの名無しさんNGNG
>>818も(以下略
0821デフォルトの名無しさんNGNG
>>807==>>819-820はtulip
0822デフォルトの名無しさんNGNG
>815
VisualBasicとVisualC++でプログラマに
階層を作るためにわざとそうしたのです。

VisualBasicでしかプログラムできないプログラマを増やし、
一方でマイクロソフト製品には決してVisualBasicを使わず、
難解なVisualC++でしか書かない、という戦略で
プログラマを支配するマイクロソフトの戦略なのです。




。。。だったら凄いなw

0823デフォルトの名無しさんNGNG
今、ディスプレイにジクモが張り付いております。
マウスカーソルを興味深そうに眺めるくしぐさは面白い。
あまり追いかけてはこないけど、くるくる回すと、クモもクルクル回るのが楽しい。
でもクモから5センチほどカーソルと離すとクモの反応が鈍くなるんだよな。
どこだどこだ?とキョロキョロカーソル探し始めるし。

1時間ほどクモと遊びました
0824デフォルトの名無しさんNGNG
寝ろよ
0825デフォルトの名無しさんNGNG
>>822
.NET戦略なんてそんなもんだろ。
馬鹿なブビ厨を救うためにわざわざVB.NETなんて作ったもんだし
C#もあれだし
0826デフォルトの名無しさんNGNG
>>807 程度で釣ろうとするのも
実際に釣られたりするのも
暑さのせいですね、きっと。
0827デフォルトの名無しさんNGNG
>>822
> 。。。だったら凄いなw
スティーブバルマー(MSのCEO)が、会場で
「ア〜イラ〜ブジィ〜スカンパニ〜!イエェェイ!」
「デヴェロォップ、デヴェロォップ、デヴェロォップ」X20回ほど
と汗でびしょびしょのシャツを来て叫ぶパフォーマスはもっとすごいです。
0828デフォルトの名無しさんNGNG
何の会場だよ。
0829デフォルトの名無しさんNGNG
>>828
ネタかどうか自分の目で確認して見ろ。
http://www.ntk.net/ballmer/mirrors.html
0830デフォルトの名無しさんNGNG
ぐへぇ。
で、これはいったい何の会場?
0831デフォルトの名無しさんNGNG
http://www.zdnet.co.jp/news/0108/24/e_cooper.html
0832デフォルトの名無しさんNGNG
M$もおかしくなったな
0833デフォルトの名無しさんNGNG
SUNはもとからおかしいわけですが。
SUNに騙されつづけるJAVA厨はもっとおかしいですね
0834デフォルトの名無しさんNGNG
>>833
また必死な豚ブビ厨の釣りか。

SunとJavaとの関係はM$とC#やVBとの関係と比べると非常に薄いわけだが。
キミにとってはIBMが作ったJava製品やJakarta Projectのソフトウェアは
Sunが作ったものだと思い込みたいのかね(藁
0835デフォルトの名無しさんNGNG
>>834
>>833じゃないがそりゃ実装の話だろ。大人しく引き篭もってろよ厨房。
0836デフォルトの名無しさんNGNG
>>834
一時期、SUN がクレームつけてきたせいで
IBM が自社独自 VM つめなくて困ってなかったっけ?

Solaris 以外の OS では IBM 自社独自 VM の方が
SUN 純正よりも数倍早かったのに。
0837デフォルトの名無しさんNGNG
というか>>833に>>834以上に誰も突っ込まないのは気のせいか?

>>831, 832はSunの話題を一言もいってないのに

>>833は MSを批判されるとそれを無理やりSunとJavaに結び付けている

ことに誰も「おや?」とは思わないのが不思議。
0838デフォルトの名無しさんNGNG
>>837
つーか、元々どうでもいいし。
0839デフォルトの名無しさんNGNG
まあ、MSも終わりだしね。
0840デフォルトの名無しさんNGNG
というか>>1の

>わかりやすいプログラミング言語をつくれないBjarne Stroustrupには げんあり

の意味がわからない

げんあり?

厳蟻?
0841デフォルトの名無しさんNGNG
>>840
げんなりだろ
gennariって打ったらローマ字変換ルールによってはげんありになるし
0842デフォルトの名無しさんNGNG
841=1
0843833NGNG
>>834
ブビ厨じゃないです。C++エキスパートです。
でも釣りは正解。
>>837
「おや?」と思ったのは普段から自演して神経過敏かつ疑心暗鬼になっている君だけです。
0844デフォルトの名無しさんNGNG
↑はC++スレ常駐の騙りだと思う。
0845デフォルトの名無しさんNGNG
>>843
C++エキスパートだってよプ
Visualに染まったVisualC++厨だろプ

VisualがつくM$製品はみな糞
0846デフォルトの名無しさんNGNG
>>843
根拠なく自演とかいってるあたりが
普段から自演して罪悪感を感じている>>843の心境を表しているw

M$の工作員が必死にC++エキスパートを演じているw
0847デフォルトの名無しさんNGNG
ところでc++の案件って減ってたりすんの?
0848デフォルトの名無しさんNGNG
>>847
私の周囲では、Javaに取られて減った分UnixCから移行して増える感じ。
0849デフォルトの名無しさんNGNG
取り敢えず釣られちゃった人は、次回から
メール欄まで確認するようにしましょう。
0850デフォルトの名無しさんNGNG
最近はメール欄に「釣り」と保険をかけてレスするのは
負け犬だという風潮がはびこっているようですが。
0851デフォルトの名無しさんNGNG
つーか、釣り云々言い出すヤツはそもそも負け犬
0852デフォルトの名無しさんNGNG
5年前まで仕事でC++使ってて
今日久しぶりにC++でプログラムしようとしたらびっくり。
結構仕様が変わってるのね。

#include <iostream.h>
一発目からだもんなぁ・・・・・
0853デフォルトの名無しさんNGNG
<iostream.h>⇒<iostream>って事?
0854デフォルトの名無しさんNGNG
namespaceも枷になってるな。
見事に。
0855デフォルトの名無しさんNGNG
<<差分プログラミング時代の人(>>852)がこのスレに来ました!>>
0856デフォルトの名無しさんNGNG
だからメール欄で逃げるな。
0857デフォルトの名無しさんNGNG
>>856
おまえつまんないやつだな。
0858デフォルトの名無しさんNGNG
メール欄は保険
旗色悪くなったら
釣れた釣れた〜
そういうやつは
煽りも下手糞だ
0859デフォルトの名無しさんNGNG
釣れた言う奴は負け犬。
0860デフォルトの名無しさんNGNG
C++は既に破綻している!!
0861デフォルトの名無しさんNGNG
>>860
ということにすると使いこなせない言い訳が立って安心できるんですね ;-P
0862デフォルトの名無しさんNGNG
おまえらちょっとまて!!
異議あり!
http://www.reset931.net/saiban/Obj_Nar.swf?inputStr=%96%A1%91X%8F%60%82%CC%82%C6%82%C8%82%E8%82%C9%82%CD%81@%81@%81@%81@%81@%81@%81@%81@%81@%94%92%82%A2%82%B2%94%D1%82%C5%82%C8%82%AF%82%EA%82%CE%82%C8%82%E7%82%C8%82%A2%81I
0863デフォルトの名無しさんNGNG
ついでだから
異議あり!!
http://www.reset931.net/saiban/Obj_Kar.swf?inputStr=%95%D9%8C%EC%90l%82%CC%8F%D8%8B%92%95i%82%CD%83%7C%81%5B%83N%83r%83b%83c%95%C0%82%E6%81I%81I
0864デフォルトの名無しさんNGNG
さらに
異議あり!!!
http://www.reset931.net/saiban/Obj_Mit.swf?inputStr=%83o%83i%83i%82%CD%82%A8%82%E2%82%C2%82%C9%8A%DC%82%DC%82%EA%82%C8%82%A2%81@%81@%81@%81@%81@%8E%A9%96%BE%82%C8%8E%96%82%BE%81I
0865デフォルトの名無しさんNGNG
>>862-864
http://www.reset931.net/saiban/Obj_Nar.swf?inputStr=藻前らスレ違いです!

http://www.reset931.net/saiban/Obj_Mit.swf?inputStr=どうせこのスレ終わっています!

エンコードするのめんどくせ
0866デフォルトの名無しさんNGNG
http://www.reset931.net/saiban/Obj_Mit.swf?inputStr=%88%D3%8B%60%82%C8%82%B5%81I%81I
0867山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0868デフォルトの名無しさんNGNG
hosyu
0869デフォルトの名無しさんNGNG
>>866
最高
■ このスレッドは過去ログ倉庫に格納されています