C++の問題点について語るスレです
C++ってなんであんなに肥大化しちゃったの?
http://pc11.2ch.net/test/read.cgi/tech/1219902495/
探検
【信者】C++の問題点【アンチ】
■ このスレッドは過去ログ倉庫に格納されています
2008/10/10(金) 09:13:53
2008/10/17(金) 13:09:18
常識という眼鏡で僕達の世界はのぞけやしないのさ
夢を忘れた古いプログラマーたちよ
アンドじゃないアンドじゃない
素敵な世界
夢を忘れた古いプログラマーたちよ
アンドじゃないアンドじゃない
素敵な世界
2008/10/17(金) 15:03:38
>>88
operator&&() が my_bool のメンバならね。
でも
bool operator&&(const my_bool& a, const my_bool& b)
かも知れない。
更に、b1 が左辺値ではなく my_bool を戻す式だったとき、
やっぱり b2 とどっちが先に評価されるかは判らない。
operator&&() が my_bool のメンバならね。
でも
bool operator&&(const my_bool& a, const my_bool& b)
かも知れない。
更に、b1 が左辺値ではなく my_bool を戻す式だったとき、
やっぱり b2 とどっちが先に評価されるかは判らない。
2008/10/17(金) 16:06:02
>>90
引数の評価順を重要視する意味がよくわからん
引数の時点で、真偽がわかったとしても関数から抜け出す手段は無いとおもうが?
b1 && b2 && b3
の式の場合
operator&&(operator&&(b1, b2), b3)
となって、operator&&(b1, b2)が偽の場合でも、一番外側のoperator&&()が実行されるから嫌だって事なら、ちょっとだけ理解できるかもしれないが
だからと言って、C++の欠陥だと大声で言うようなものでも無いと思うのですが
引数の評価順を重要視する意味がよくわからん
引数の時点で、真偽がわかったとしても関数から抜け出す手段は無いとおもうが?
b1 && b2 && b3
の式の場合
operator&&(operator&&(b1, b2), b3)
となって、operator&&(b1, b2)が偽の場合でも、一番外側のoperator&&()が実行されるから嫌だって事なら、ちょっとだけ理解できるかもしれないが
だからと言って、C++の欠陥だと大声で言うようなものでも無いと思うのですが
2008/10/17(金) 16:52:03
>>91
短絡評価のメリットが解らない、ってこと?
短絡評価のメリットが解らない、ってこと?
2008/10/17(金) 17:17:31
2008/10/17(金) 17:41:19
2008/10/17(金) 18:00:57
バグの原因は小さいものだから
大きな問題ではないと考えるのも無理はない
大きな問題ではないと考えるのも無理はない
2008/10/17(金) 18:05:33
INT i=1,j=1; //なんかint的なクラスだと思いね
i++ || j++;
cout << i << "," << j;
||がオーバーロードされていなければ「2,1」が表示される
されていれば「2,2」が表示される
open(file) && abort();
&&がオーバーロードされていなければ、ファイルオープンに成功すれば処理が続行される
されていればファイルオープンに成功したのに異常終了する
i++ || j++;
cout << i << "," << j;
||がオーバーロードされていなければ「2,1」が表示される
されていれば「2,2」が表示される
open(file) && abort();
&&がオーバーロードされていなければ、ファイルオープンに成功すれば処理が続行される
されていればファイルオープンに成功したのに異常終了する
2008/10/17(金) 18:32:16
2008/10/17(金) 18:46:18
2008/10/17(金) 18:52:24
つーか短絡評価しないなら&や|だけでいい
何のためにわざわざ&&や||が用意されてると思ってるんだ
何のためにわざわざ&&や||が用意されてると思ってるんだ
100デフォルトの名無しさん
2008/10/17(金) 18:54:39101デフォルトの名無しさん
2008/10/17(金) 18:55:39 そうだな
ごめんアホなこと言った
ごめんアホなこと言った
102デフォルトの名無しさん
2008/10/17(金) 19:44:48103デフォルトの名無しさん
2008/10/17(金) 19:50:03104デフォルトの名無しさん
2008/10/17(金) 19:50:39 >>102
>論理式の処理過程を期待してプログラムする
「期待」じゃなくてC/C++は「仕様で」「明確に」「わざわざ」評価順を
定義しているわけだが
&& || に関してはな
何の意味も無くそんな仕様にしてると思ってんの?
ま、&&や||は論理演算、bool代数だよな?そこはその通りだ。
フローコントロールもセマンティクスも変えちまう
オーバーロードなんてもってのほかだよな?
>論理式の処理過程を期待してプログラムする
「期待」じゃなくてC/C++は「仕様で」「明確に」「わざわざ」評価順を
定義しているわけだが
&& || に関してはな
何の意味も無くそんな仕様にしてると思ってんの?
ま、&&や||は論理演算、bool代数だよな?そこはその通りだ。
フローコントロールもセマンティクスも変えちまう
オーバーロードなんてもってのほかだよな?
105デフォルトの名無しさん
2008/10/17(金) 19:59:18 bool banana;
if(!banana)
{
// ↑気持ち悪いねこれ。
}
if(!banana)
{
// ↑気持ち悪いねこれ。
}
106デフォルトの名無しさん
2008/10/17(金) 20:01:54 if(true != banana)
if(false == banana)
好きなほうを選べ
if(false == banana)
好きなほうを選べ
107デフォルトの名無しさん
2008/10/17(金) 20:02:26 VB.NETではVBには無かった短略評価の
AndAlso OrElse という(キモい)演算子が追加されているのだが
その意味も分からないんだろうねえ
AndAlso OrElse という(キモい)演算子が追加されているのだが
その意味も分からないんだろうねえ
108デフォルトの名無しさん
2008/10/17(金) 20:10:39109デフォルトの名無しさん
2008/10/17(金) 20:12:51110デフォルトの名無しさん
2008/10/17(金) 20:19:03 &&や||をオーバーロードの場合はコンパイラが短絡すればいいだけだろ
111デフォルトの名無しさん
2008/10/17(金) 20:27:57 何だそれ
互換性が無くなってさらにカオスになるだけじゃねえか
互換性が無くなってさらにカオスになるだけじゃねえか
112デフォルトの名無しさん
2008/10/17(金) 20:31:27 &&と||の意味がわかんねー奴はC++厨気取りたいんなら
More Effective C++ぐらい嫁
More Effective C++ぐらい嫁
113デフォルトの名無しさん
2008/10/17(金) 20:36:52 .front()も.begin()も同じで良いジャン
なんで違うの
なんで違うの
114デフォルトの名無しさん
2008/10/17(金) 20:48:12115デフォルトの名無しさん
2008/10/17(金) 20:52:08 front取り忘れたのかね
116デフォルトの名無しさん
2008/10/17(金) 21:20:33 map持っていて
<<でkeyを流し込んだら valueが返ってくるクラスはあり?
<<でkeyを流し込んだら valueが返ってくるクラスはあり?
117デフォルトの名無しさん
2008/10/17(金) 21:29:44 演算子でやる理由がわからん
118デフォルトの名無しさん
2008/10/17(金) 21:46:28119デフォルトの名無しさん
2008/10/17(金) 21:51:59 []だとポインタのとき面倒じゃね?
120デフォルトの名無しさん
2008/10/17(金) 21:54:05 value = (*hogemap)[key]
でおけ
でおけ
121デフォルトの名無しさん
2008/10/17(金) 21:58:28 あえて operator()
122デフォルトの名無しさん
2008/10/17(金) 22:39:11 ttp://homepage2.nifty.com/well/Operator.html#arrow_ast
なんでもあり
なんでもあり
123デフォルトの名無しさん
2008/10/17(金) 23:04:00 >>119
いやポインタに対して使うときは全部だろ
いやポインタに対して使うときは全部だろ
124デフォルトの名無しさん
2008/10/18(土) 00:55:05 C++のIDEに自動的にヘッダやnamespaceを宣言してくれる奴って何かあります?
Javaとかだと適当にクラス使ってもクラスパスから候補探してくれるのがメジャーなIDEの基本機能にある。
Javaとかだと適当にクラス使ってもクラスパスから候補探してくれるのがメジャーなIDEの基本機能にある。
125デフォルトの名無しさん
2008/10/18(土) 05:16:34126デフォルトの名無しさん
2008/10/18(土) 05:38:24 自動的にヘッダを追加するようなIDEは怖くて使えません
127デフォルトの名無しさん
2008/10/18(土) 13:39:49 さすが生産性の無さでユーザーがみるみる減っている言語だけはあるw
128デフォルトの名無しさん
2008/10/18(土) 13:56:13 >>124
C++のヘッダのincludeは単なるプリプロセッサ命令で、やってることは
原始的なコピペ
Javaは自己記述的なjarやclassからシンボルをインポートしてるわけだ
C++でそういうことをやるのは技術的に不可能ではないだろうが
向いているとは思えんな
現代的なIDEなどが出るよりはるか以前に作られた化石言語なのだから仕方が無い
C++のヘッダのincludeは単なるプリプロセッサ命令で、やってることは
原始的なコピペ
Javaは自己記述的なjarやclassからシンボルをインポートしてるわけだ
C++でそういうことをやるのは技術的に不可能ではないだろうが
向いているとは思えんな
現代的なIDEなどが出るよりはるか以前に作られた化石言語なのだから仕方が無い
129デフォルトの名無しさん
2008/10/18(土) 14:06:23 C++はIDEととことん相性悪いからな
まるでIDEを妨害しようとしているかのような仕様
VSやBuilderやCDTはマジ頑張ってると思うのですよ
頭が下がる
まるでIDEを妨害しようとしているかのような仕様
VSやBuilderやCDTはマジ頑張ってると思うのですよ
頭が下がる
130デフォルトの名無しさん
2008/10/18(土) 21:29:58 C++を有難がって使ってる奴なんているの?
居たとしたらちょっと馬鹿すぎる
居たとしたらちょっと馬鹿すぎる
131デフォルトの名無しさん
2008/10/18(土) 21:38:06 文句なしの代替が無いから使っているだけだよ。
132デフォルトの名無しさん
2008/10/18(土) 22:40:11 有難がって使うプログラミング言語なんてないだろ。
133デフォルトの名無しさん
2008/10/18(土) 22:51:52134デフォルトの名無しさん
2008/10/18(土) 22:53:30 C++が一番簡単だから使ってる
135デフォルトの名無しさん
2008/10/18(土) 22:59:07 結局、
136デフォルトの名無しさん
2008/10/18(土) 23:00:16 結局、このスレにC++信者なんて居なかったってオチか
137デフォルトの名無しさん
2008/10/19(日) 01:23:10 >>105
↑頭悪いねこれ。
↑頭悪いねこれ。
138デフォルトの名無しさん
2008/10/19(日) 14:06:06 C++が最高だと思って使ってる奴はいないだろ。
ただ分かってない上司やクライアントがいるからC++の仕事もあるってだけだ。
本当はCで十分だったり、C#やJavaの方が効率良かったりするんだが。
ただ分かってない上司やクライアントがいるからC++の仕事もあるってだけだ。
本当はCで十分だったり、C#やJavaの方が効率良かったりするんだが。
139デフォルトの名無しさん
2008/10/19(日) 14:12:04 C#やJavaをフロントエンドにして、
OS依存部分や、処理が思い部分を
C言語で書くスタイルがベストだな。
既にOracleがそうだし、CADもそういうのがある。
OS依存部分や、処理が思い部分を
C言語で書くスタイルがベストだな。
既にOracleがそうだし、CADもそういうのがある。
140デフォルトの名無しさん
2008/10/19(日) 14:23:15 C++はプログラム初級〜中級者向けのおもちゃとしてはそこそこ面白い
だが普通はすぐに暗黒面に気付いて使うのを辞めるor仕事で仕方なく使うだけだ
だが普通はすぐに暗黒面に気付いて使うのを辞めるor仕事で仕方なく使うだけだ
141デフォルトの名無しさん
2008/10/19(日) 14:41:12 その通り過ぎて何も言えねえ…
良い代替言語があれば良いんだけどね
良い代替言語があれば良いんだけどね
142デフォルトの名無しさん
2008/10/19(日) 14:53:48 D言語がふらふらしてなければなw
創始者が「仕様変えるぞー」を未だに自粛しないからこまったものだ。
創始者が「仕様変えるぞー」を未だに自粛しないからこまったものだ。
143デフォルトの名無しさん
2008/10/19(日) 16:11:15 まあ暗黒面に気付かないうちはまだまだ初心者ってことだ
それに気付いた時にはバッドノウハウばかりで他言語に応用が効かないのも悔しいところだ
それに気付いた時にはバッドノウハウばかりで他言語に応用が効かないのも悔しいところだ
144デフォルトの名無しさん
2008/10/19(日) 16:19:28 Plan9(笑)
D言語(笑)
D言語(笑)
145デフォルトの名無しさん
2008/10/19(日) 16:37:25 バッドノウハウを追求するのは楽しい
しかしチームでやる仕事ではゴメンだね
しかしチームでやる仕事ではゴメンだね
146デフォルトの名無しさん
2008/10/22(水) 11:30:38 クライアントから例外もテンプレートも(わからないから)使わないで欲しいって言われた
周辺環境もある意味では言語の問題点に含まれると思う
特にC++の場合、ひとによってスキルの差がありすぎ
せっかくのリソースが活かせないことが多い
まあ割の良い仕事だから我慢するけど、これならCの方が開発効率良いよorz
周辺環境もある意味では言語の問題点に含まれると思う
特にC++の場合、ひとによってスキルの差がありすぎ
せっかくのリソースが活かせないことが多い
まあ割の良い仕事だから我慢するけど、これならCの方が開発効率良いよorz
147デフォルトの名無しさん
2008/10/22(水) 17:05:15 Cの方が開発効率良い、に関しては、
だったらクラスも何も使わないでC同然に書けばいいじゃないと思う。
だったらクラスも何も使わないでC同然に書けばいいじゃないと思う。
148デフォルトの名無しさん
2008/10/22(水) 17:14:26149デフォルトの名無しさん
2008/10/22(水) 18:05:19150デフォルトの名無しさん
2008/10/22(水) 19:03:52 >>149
147でないけど
キャストは new の仕様を促すからそのほうがいいんじゃない。new の方が楽で型安全だし。
extern "C" はCとリンクする部分だけでいいよ。普通の C のライブラリだって extern "C" 使ってるし。
extern "C" を使わないほうが型安全だし。
147でないけど
キャストは new の仕様を促すからそのほうがいいんじゃない。new の方が楽で型安全だし。
extern "C" はCとリンクする部分だけでいいよ。普通の C のライブラリだって extern "C" 使ってるし。
extern "C" を使わないほうが型安全だし。
151デフォルトの名無しさん
2008/10/22(水) 19:18:08 >>150
newは例外まみれで鬱陶しい別の問題を引き起こすだろ
ただの関数形式のアロケータなら差し替えるのも簡単だ
C++をC++らしく使わないという仮定の話をしているようだから
それぐらいならCの方がいいと言ってるんだよ
クラスすら使わないC++で提供される付加価値よりは
グダグダなABIだの、さりげなく仕込まれる例外対策だののほうがずっと鬱陶しい
newは例外まみれで鬱陶しい別の問題を引き起こすだろ
ただの関数形式のアロケータなら差し替えるのも簡単だ
C++をC++らしく使わないという仮定の話をしているようだから
それぐらいならCの方がいいと言ってるんだよ
クラスすら使わないC++で提供される付加価値よりは
グダグダなABIだの、さりげなく仕込まれる例外対策だののほうがずっと鬱陶しい
152デフォルトの名無しさん
2008/10/22(水) 21:07:44 > ただの関数形式のアロケータなら差し替えるのも簡単だ
それと同じくらいnewの差し替えも簡単だ。
void* operator new(std::size_t n)
{
return my_alloc(n); //NULLを返せば例外はthrowされない
}
void operator delete(void* p)
{
my_free(p);
}
//以下コピペするだけ
void* operator new[](std::size_t n)
{
return operator new(n);
}
void operator delete(void* p)
{
operator delete(p);
}
いや、これもずっと鬱陶しい「さりげなく仕込まれる例外対策」の内というならそれまでだけど。
それと同じくらいnewの差し替えも簡単だ。
void* operator new(std::size_t n)
{
return my_alloc(n); //NULLを返せば例外はthrowされない
}
void operator delete(void* p)
{
my_free(p);
}
//以下コピペするだけ
void* operator new[](std::size_t n)
{
return operator new(n);
}
void operator delete(void* p)
{
operator delete(p);
}
いや、これもずっと鬱陶しい「さりげなく仕込まれる例外対策」の内というならそれまでだけど。
153デフォルトの名無しさん
2008/10/23(木) 00:24:04 bad_allocが嫌ならnothrowつきのnewを使えばいいじゃない
ただ、例外を使わないようにするとどうせNULLチェックをサボる奴が出てくるので
むしろ有害だと思うけどな
ただ、例外を使わないようにするとどうせNULLチェックをサボる奴が出てくるので
むしろ有害だと思うけどな
154デフォルトの名無しさん
2008/10/23(木) 02:02:52 NULLチェックをサボるために例外を使うってことは、newする部分をまとめてtryに入れるんだろうけど、
スマートポインタかGCでもない限り、メモリリークの危険性がある。
STLで用意されてるauto_ptrはSTLコンテナに食わせられない糞仕様。
スマートポインタかGCでもない限り、メモリリークの危険性がある。
STLで用意されてるauto_ptrはSTLコンテナに食わせられない糞仕様。
155デフォルトの名無しさん
2008/10/23(木) 08:09:11 CAutoPtr
156デフォルトの名無しさん
2008/10/23(木) 11:08:44157デフォルトの名無しさん
2008/10/23(木) 11:46:55 std::tr1::shared_ptrかboost::smart_ptrのどっちかと間違えてるんだと思うが
どっちにしろどうしても必要な所で最低限の使用にしないと重すぎて酷いことになるからなぁ
auto_ptrはそこそこ軽いから割と気軽に使える
まあ、本当は生ポインタが一番いいんだけどな
プログラマが楽をするためだけにスマポの莫大なオーバーヘッドを持ち込むのは感心できない
どっちにしろどうしても必要な所で最低限の使用にしないと重すぎて酷いことになるからなぁ
auto_ptrはそこそこ軽いから割と気軽に使える
まあ、本当は生ポインタが一番いいんだけどな
プログラマが楽をするためだけにスマポの莫大なオーバーヘッドを持ち込むのは感心できない
158デフォルトの名無しさん
2008/10/23(木) 12:17:44 プログラマに苦労を強いると、バグの発生率が跳ね上がるでしょ。
多くの状況ではオーバーヘッドよりバグの方が深刻な問題になるんだから、楽はすべきだと思うけど。
多くの状況ではオーバーヘッドよりバグの方が深刻な問題になるんだから、楽はすべきだと思うけど。
159デフォルトの名無しさん
2008/10/23(木) 13:12:15 C + Boehm GCでいいやん
スマポなんかより便利だし
スマポなんかより便利だし
160デフォルトの名無しさん
2008/10/23(木) 13:21:50 >>157
boost::smart_ptr なんて存在しない。
どっちも shared_ptr。
あとオーバーヘッドなんて大したことないぞ。
ポインタに参照カウントの分の整数がついて回るだけ。
ポインタアクセス時は通常のポインタとほぼ同等
(レジスタ割り付けが多少阻害されるかもしれんが)。
コピーやデストラクト時に参照カウントの増減でこれも一瞬。
boost::smart_ptr なんて存在しない。
どっちも shared_ptr。
あとオーバーヘッドなんて大したことないぞ。
ポインタに参照カウントの分の整数がついて回るだけ。
ポインタアクセス時は通常のポインタとほぼ同等
(レジスタ割り付けが多少阻害されるかもしれんが)。
コピーやデストラクト時に参照カウントの増減でこれも一瞬。
161デフォルトの名無しさん
2008/10/23(木) 19:05:25 boost::intrusive_ptr 方式のスマートポインタが好き。
162デフォルトの名無しさん
2008/10/23(木) 20:50:24 UN*X では Objective-C が使えるから無理して C++ を使う必要は無いよね
163デフォルトの名無しさん
2008/10/23(木) 21:02:12 >>162
極一部のUnix以外ではCが主流というオチ。
極一部のUnix以外ではCが主流というオチ。
164デフォルトの名無しさん
2008/10/23(木) 21:22:07 unixだとc++なんか有象無象とひとつ
165デフォルトの名無しさん
2008/10/23(木) 21:28:01166デフォルトの名無しさん
2008/10/27(月) 19:09:41 C++
↓
C++0x
↓
C++(笑)
↓
C++0x
↓
C++(笑)
167デフォルトの名無しさん
2008/10/29(水) 13:28:21 newの例外の問題がなんなのか良くわからんが
template<class T>class vAlloc{
public:
T *m_obj;
vAlloc() : m_obj(NULL){};
vAlloc(int size) : m_obj(NULL){
Alloc(size);
};
~vAlloc(){
delete []m_obj;
};
Alloc(int size){
delete []m_obj;
try {
m_obj = new T[size];
} catch(std::bad_alloc) {
cerr << "メモリを増設してください" << endl;
m_obj = NULL;
exit(0);
}
};
};
こういうクラスを作っといて
vAlloc<char> str1(100);
strcpy(str.m_obj, "Hello");
こうやって利用すればいいんでないの?
template<class T>class vAlloc{
public:
T *m_obj;
vAlloc() : m_obj(NULL){};
vAlloc(int size) : m_obj(NULL){
Alloc(size);
};
~vAlloc(){
delete []m_obj;
};
Alloc(int size){
delete []m_obj;
try {
m_obj = new T[size];
} catch(std::bad_alloc) {
cerr << "メモリを増設してください" << endl;
m_obj = NULL;
exit(0);
}
};
};
こういうクラスを作っといて
vAlloc<char> str1(100);
strcpy(str.m_obj, "Hello");
こうやって利用すればいいんでないの?
168デフォルトの名無しさん
2008/10/29(水) 13:34:53 >>167
言いたい事は分かるけど、コピーコンストラクター位はつけた方がいいと思うんだ
言いたい事は分かるけど、コピーコンストラクター位はつけた方がいいと思うんだ
169デフォルトの名無しさん
2008/10/29(水) 13:46:13 「解決できるけどデフォルトで放置されている問題」が多いんだな
170デフォルトの名無しさん
2008/10/29(水) 13:55:15 >>167
なんだそれ
vAlloc<char> str1(100);
なんてやるなら
char str1[100];
でいいだろ
そのクラスはそれ以上のものをそれは何も提供していないし
何の解決にもなっていない
なんだそれ
vAlloc<char> str1(100);
なんてやるなら
char str1[100];
でいいだろ
そのクラスはそれ以上のものをそれは何も提供していないし
何の解決にもなっていない
171デフォルトの名無しさん
2008/10/29(水) 14:02:26 STLとかはAllocator差し替えられるけど
alloc()が例外投げること前提に作られてて
NULLチェックなんてしてるわけねーし
C++でデフォのnew捨てるってのは
事実上、標準を含む大半のライブラリを捨てるってこと
alloc()が例外投げること前提に作られてて
NULLチェックなんてしてるわけねーし
C++でデフォのnew捨てるってのは
事実上、標準を含む大半のライブラリを捨てるってこと
172デフォルトの名無しさん
2008/10/29(水) 14:03:41173デフォルトの名無しさん
2008/10/29(水) 14:05:16174デフォルトの名無しさん
2008/10/29(水) 14:09:13 コンストラクタやデストラクタが動くんだからalloca()の代用は言いすぎか
まあ、そういうことが言いたいんじゃなくて、newが使われるシナリオの
ごくごく一部しかカバーできていないだろ、といいたいんだよ
まあ、そういうことが言いたいんじゃなくて、newが使われるシナリオの
ごくごく一部しかカバーできていないだろ、といいたいんだよ
175デフォルトの名無しさん
2008/10/29(水) 14:41:56176デフォルトの名無しさん
2008/10/29(水) 16:21:08 >>167
そんなことするならset_new_handlerとvector(もしくはboost::scoped_array)で十分だと思う。
そんなことするならset_new_handlerとvector(もしくはboost::scoped_array)で十分だと思う。
177デフォルトの名無しさん
2008/10/29(水) 16:50:22178デフォルトの名無しさん
2008/10/29(水) 17:37:38179デフォルトの名無しさん
2008/10/29(水) 18:06:25 そういうことか。よく見てなかった。
つうかabort()だのexit()だの呼んでる時点でダメだろ
つうかabort()だのexit()だの呼んでる時点でダメだろ
180デフォルトの名無しさん
2008/10/29(水) 19:09:35 俺の探し方が悪いのか、abort()だのexit()だの呼んでる以外のサンプルコードを見た事がない
181デフォルトの名無しさん
2008/10/29(水) 19:13:25 ま、new handlerでできることはそれぐらいだろ
つまり、new handlerは、「それでいい」プログラムにしか使えないってことだよ
つまり、new handlerは、「それでいい」プログラムにしか使えないってことだよ
182デフォルトの名無しさん
2008/10/29(水) 19:39:56 予めでっかいメモリを確保→newハンドラで解放すれば、
ヒープに空きができてnewを成功させられるぜっていう話を聞いたことがある。
実用性皆無にしか思えない。
ヒープに空きができてnewを成功させられるぜっていう話を聞いたことがある。
実用性皆無にしか思えない。
183デフォルトの名無しさん
2008/10/30(木) 01:39:17 new handler で必ずしも必要でないキャッシュをパージすることが考えられる。
Java の SoftReference がそんな感じ。
Java の SoftReference がそんな感じ。
184デフォルトの名無しさん
2008/10/30(木) 09:41:16 bad_allocが発生する様な環境下で、必要のないキャッシュを持つ設計が正しいのだろうか?
185デフォルトの名無しさん
2008/10/30(木) 10:01:22 あっちと内容がかぶってる
C++が糞言語なのはみんな知ってるから一箇所でやってくれないかな
C++が糞言語なのはみんな知ってるから一箇所でやってくれないかな
186デフォルトの名無しさん
2008/10/30(木) 13:05:43 どこ?
187デフォルトの名無しさん
2008/11/02(日) 04:11:41 >>172
C++ってそんな事も出来ないのかw
C++ってそんな事も出来ないのかw
188デフォルトの名無しさん
2008/11/02(日) 07:33:07 配列ごときをいちいち動的にヒープに取るような非効率言語とは違うんですっ!
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【🐻ニャー】京都府向日市の「クマ目撃情報」は見間違いか 市が映像確認「ネコに似ていた」 [nita★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
