953 :
デフォルトの名無しさん:03/08/09 02:52
保守
954 :
デフォルトの名無しさん:03/08/09 03:03
>>947 >>950 バグですか。
実は同じ号のlist7,8も上手くコンパイルが通らず、こっちは調べて
解決出来たのですが、938の件では自分・記事・コンパイラの
どれが悪いのか悩みました。
その後の号でも訂正記事は載ってないと思うのですが、やはり
Cマガを読んで勉強する人はあまりいないんですかね?
とりあえずバグということで納得して、次に進みたいと思います。
どうも有難うございました。
957 :
デフォルトの名無しさん:03/08/09 14:18
映画が本当になったぞ!!
レインボーブリッジが封鎖されてるよ!!
レインボーブリッジが光ってるよ!!
レインボーブリッジの制御プログラムはC++で書かれている。
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/\ /\ < 糞スレ
/ \ / \ | おめでとうございまーす
/ \_/ \ \_______
/ \
/ ヽ___ ___
/ / ヽ__/ \ / ゙Y" \
| │ / / \
| 丶/ / \
\ / ̄ ̄ ̄ ̄) * ( ̄ ̄ ̄ ̄)
ヽ_____| ─< |\ >─ (
| ) / (|ミ;\ ( )
ヽ  ̄ ̄) /(___人|,iミ'=;\ (  ̄ ̄ )
/" ̄ ̄ ̄ ̄ / 《v厂リiy\  ̄ ̄ ̄ ̄\
/ / ゙|,/'' v:,,、.¨)z,_ \
/ / ミ/ .-─ .゙》z、 \
/ / 〔」″ノ‐ 、u ¨\ )
( / ゙|, ..冫 .rー  ̄\_ |
| 〔 ミ./′ ..r-ー __,,ア┐ |
| | {. .,,,, .′ .´′ .¨\|
| | ∨ ノ冖′=vvvvvv¨\
| / ミ. ,i' .゙\_
| / .{. ノ ,r¬″ .¨\
| / ゙|, | ノ ー''''''''''' .ーミz
| | ミ. .,、 ._,,,、、r ,,,,_____ ゙┐
_/" | .ミ. ./′ ´′  ̄⌒'h..¥
(______) {. } ._,,,、 ,ノ冖''^¨ ″〕
゙|, .,| ./` ,r'′ vvvv、 |
.ミ、.` | 二、 〔 、 ,|
.〔 | .、 〔 rーー | |.,}
.ミ .′ .| 〕 .} ─-「 y-リ
.\ |, ´v,,,]、、、v- ..,/′
゙\ .\、 . _/
¨'ーvu,,____''工レ-'″
963 :
デフォルトの名無しさん:03/08/09 18:59
VC7.1でstlportを使うメリットはありますか?
964 :
デフォルトの名無しさん:03/08/10 00:27
教えてください。
仮想関数テーブルはすべてのクラスのインスタンスにコピー
されていると聞いたのですがなぜですか?
1つのテーブルを共有すればいいと思うのですが。。。
つーか、仮想関数テーブルはクラスに1つだろ。
インスタンスは、そいつへのポインタを持つのがふつう。
>>966 ですよね。僕もそうだと思っていたのですが
最近読んだ書籍に、継承を多用するのは各インスタンスの
仮想関数テーブルを増大するから良くないみたいに書かれて
いたのです。
>>967 > 継承を多用するのは各インスタンスの仮想関数テーブルを増大するから良くない
その書籍は捨てた方がいいかもな。
その書籍の題名とISBNをたのむ。
>>968 ネットでいろいろ調べてみたのですが...
>その書籍は捨てた方がいいかもな。
みたいですね。。。(−−);;
多重継承を多用するってんならともかく。
973 :
デフォルトの名無しさん:03/08/10 01:34
Cを初めて触る初心者に適したマニュアルありますか?
>>972 多重継承する場合は、1 インスタンス中に vptr (vtbl を指してるポインタ)
が複数格納されるっつー話なら、正しいぞ。
>>975 それは普通にサブオブジェクトとして格納された結果だろ。
vtblは関係ない。
>>974 いちおう...
「MFCインターナル」のP185です
969さんも聞いてくれていたのですね。
同時刻書き込みで見忘れてますた。
結構メジャーな本なのですが。。。
んで関連質問なのですが、今基本クラスで仮想関数として
定義されている関数foo()を派生クラスでオーバーライド
しているとき、両クラスはもちろん別のvtblを持つと思いますが
テーブル内のfoo()の場所は同一のオフセットと考えていいですよね。
>>979 そう考えてあながち間違いではないが、
その考えに基づいたプログラムを書いてはいけない。
>>981 処理系依存のプログラムになる。
このスレで聞くからには処理系依存は良しとされないだろう。
>>982 あ、なるほど。
もっともです。。。(--);;
>>967 継承を多用するとそのクラスごとに仮想関数テーブルが作製される。
仮想関数の数が途方も無く多いと弊害がでる。
MFCってことはウインドウメッセージをそれぞれすべて仮想関数化すると?って感じの前フリがあったのでは?
仮想関数エントリの数百〜数千くらい無視できるほど小さいと思う俺は贅沢すぎですか?
C++プログラマはみな無視します
継承多様による弊害は仮想関数テーブルの増大なんかよりも別にあると思うが
>984
「各インスタンスの仮想関数テーブルを増大」
つまり、クラスとインスタンスの区別の付かないくらい
著者が莫迦だといいたいんだね?
>>987 それはまた別の話。インターフェース継承なら、ふつー多重継承する
ものだし。
>>985 たとえエントリが 1 万個あったとしても、32bit マシンだと 40KB
程度でしょう。誤差、誤差。
>>941 boost のスマートポインタ系や bind, compose, mem_fn, call_traits,
それに文字列処理に関して format, regex あたりは仕事で使ってるけど。
さすがに lambda, mpl なんかは、使ってる処理系のバージョンが古い
ためもあって使ってない。
991 :
デフォルトの名無しさん:03/08/10 13:37
C++のRTTIについて質問なのですが、これってC++は
どうやって実現しているのですか?
文字列で各インスタンスに埋め込んでいるのでしょうか?
次スレに質問移動しますた。
ウメ〜
1000鳥合戦はいつ始まるの?
スレが立てられた時に始まっています
1000
998 :
デフォルトの名無しさん:03/08/10 14:07
記念カキコ v(^-^*)
999 :
GET!DVD:03/08/10 14:12
1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。