new/deleteで異常終了する(Visual C++)at TECH
new/deleteで異常終了する(Visual C++) - 暇つぶし2ch175:デフォルトの名無しさん
10/01/14 08:31:07
> STLやスマートポインタを使ってないことが糞なのでしょうか。
知識の不足なんてさして問題じゃない。
察しの良い奴ならすぐに学習するからな。

メモリ破壊を指摘されても「僕悪くない!!」に徹した
技術屋としては最低最悪な外道だから糞なんだよ。

176:デフォルトの名無しさん
10/01/14 09:10:13
>>175
コードの話をしてるんじゃなかったのか?w

177:デフォルトの名無しさん
10/01/14 13:03:29
ここまで読んでみましたが、ライブラリというより、呼び出し元が原因ぽいんですよね。
どういうことをしていて、newで落ちてたようだ、ということだけでも書いていただければ、勉強になるんですが。
はっきりしないんでしょうかね。

178:デフォルトの名無しさん
10/01/14 13:04:56
>>170
>>43

179:デフォルトの名無しさん
10/01/14 19:15:38
>>170 >>1
Visual Studio デバッガ ネイティブ コードのデバッグ
URLリンク(msdn.microsoft.com)
Visual Studio デバッガ メモリ リークの検出と特定
URLリンク(msdn.microsoft.com)

↑のリンク先をよーく読んで
とりあえず_CrtSetDbgFlag()でも入れとけ

180:デフォルトの名無しさん
10/01/14 20:20:17
>>177
御託並べてないでさっさとソース晒せよ

181:デフォルトの名無しさん
10/01/14 21:18:56
>>170
>>14のコードをC++風に書くとこうなる。
このコードはメモリーリークも多重deleteもメモリ不足も例外も解決する。

template<class T>
class array
{
private:
T* buff;
array(const array&);
public:
explicit array(T* b):buff(b){}
virtual ~array(){delete[] buff;}
T& operator[](int index){return buff[index];}
const T& operator[](int index)const{return buff[index]:}
};

class C1
{
private:
array<int> a;
array<int> b;
array<C2> c;
public:
C1():a(new int[5]),b(new int[5]),c(new C2[5]){};
//各種メソッド
int xxx() ....;
};



182:デフォルトの名無しさん
10/01/14 21:29:32
>>181
糞コードw

183:デフォルトの名無しさん
10/01/14 21:41:03


184:デフォルトの名無しさん
10/01/14 22:04:05
>>181
何でvectorつかわねーんだ

185:デフォルトの名無しさん
10/01/14 22:09:04
STL使わずに書いてみた。
>>184 STL版のサンプルよろしく

186:デフォルトの名無しさん
10/01/14 22:10:40
>>181
メモリリークする。
多重deleteが防げてない。
例外も防げてない。
メモリ不足?

187:デフォルトの名無しさん
10/01/14 22:13:22
あーあ可哀想に
C++BuilderならCodeGuardで一発なんだがな
どうせDebug版にもバグあるよそれ
それがRelease版で顕在化しただけ

188:デフォルトの名無しさん
10/01/14 22:26:21
>>185
STL使わない意味ってなんかあんの?

189:デフォルトの名無しさん
10/01/14 22:35:12
>>185
>>72

190:デフォルトの名無しさん
10/01/14 23:00:21
Cはよい言語だ。アセンブラよりずっと簡単に書けるのに、アセンブラよりそれほど遅くない。
C++ with STLも悪くない。Cよりずっと簡単に書けるのに、Cよりそれほど遅くない。
だいぶコードサイズが大きくなるけどな。
だが、C++ without STLは最悪だ。そんなものを使うくらいなら、別の言語を使ったほうがマシだ。

191:デフォルトの名無しさん
10/01/14 23:14:11
それ読む限り
C++ With STLが一番じゃん。
昔みたいにCPUもメモリも貧弱だったならともかく
CPU高速メモリあまりすぎの現状速さなんてたいして問題にならん。

192:デフォルトの名無しさん
10/01/14 23:19:07
世の中メモリもディスクも無限にあるマシンばかりじゃないのだよ。
DSやPSPでSTLバリバリのコード書いたらすぐにメモリはパンクしてしまう。

193:デフォルトの名無しさん
10/01/14 23:20:40
>>191
組み込み環境の事も忘れないであげてください。

194:デフォルトの名無しさん
10/01/14 23:29:43
>>190
同意

195:デフォルトの名無しさん
10/01/15 02:24:54
何?Embedded C++に喧嘩売ってるの?

196:デフォルトの名無しさん
10/01/15 03:48:10
>>180

197:デフォルトの名無しさん
10/01/15 05:31:17
取り敢えず
>>1の返答待ちと言う事で.
WindowsのVCコンパイラが生成した正当なプログラムが
ライブラリの未発見のバグで突然オチることがあるという
のが本当なら結構なニュースバリューがあるし...>>1
発見者として大感謝されるかも...

198:デフォルトの名無しさん
10/01/15 08:39:58
ちょっと視点を変えようか。
プロジェクトの設定による違いって事は無いかな?


199:デフォルトの名無しさん
10/01/15 17:23:58
バッファオーバーランに設定も何もないと思うけど

200:デフォルトの名無しさん
10/01/15 23:19:37
>>1がバグという可能性は?

201:1
10/01/15 23:23:02
>>174, >>197
私は、Windowsにバグがあると言った覚えはありません。
落ちる部分のコードを何度見直しても合ってるのに
それでも異常終了するという症状に困っていると言いました。
実際は、クラスC1を使うプログラムの、クラスC1を使う
部分と全く別のコードが原因でした。
WindowsあるいはVCのバグではありません。

202:デフォルトの名無しさん
10/01/15 23:32:17
動的確保する用のポインタをクラスに持ってるのに
コピコンを書かない理由がわからない

203:デフォルトの名無しさん
10/01/15 23:40:26
>コピコンを書かない理由
「コピーすることがないから」は立派な理由だろう。

204:デフォルトの名無しさん
10/01/16 00:09:06
>>201
もう最適化やめちゃいなよ

#pragma optimize("", off)

205:デフォルトの名無しさん
10/01/16 00:13:50
>>203
その場合、書かない(=デフォルト)のではなく、privateかリンカエラーにするんじゃないか?

206:デフォルトの名無しさん
10/01/16 00:33:06
>>203
privateなりにして作っておかないとコンパイラが勝手にpublicで作るよ。
そして誰かがそのオブジェクトのコピーをして死ぬほどめんどくさくなると。
operator=も同上。

207:デフォルトの名無しさん
10/01/16 01:54:04
コンパイラにバグがある事はまずない(あっても大抵全て既知の問題)
もし問題が再現する最小のプログラムが書けたらコンパイラメーカが
修正してくれる可能性は大いにあるが、そうでなければ無視される

208:デフォルトの名無しさん
10/01/16 09:28:21
>>97
> C/C++コンパイラでコンパイル時に警告が出ているコード
> は既にある程度バグを含んでいるとすら言える。

そこまで言い出すとオープンソースなんかほぼ全滅だろ。

209:デフォルトの名無しさん
10/01/16 10:25:02
オプソはシステム抽象化、標準化が行き着くところ迄行っている
UNIX環境の最大の強み。非純正開発環境でmakeして当然出てくる
ワーニングを無視しても殆どが遜色無く動くからオプソが成立
しており膨大な数のソフト資産が形成されてる。

210:デフォルトの名無しさん
10/01/16 10:54:51
>208
まともなプロジェクトならウォーニングはほとんど出ないよ。
オープンソースの場合は、「動けばいい」じゃないから。

211:デフォルトの名無しさん
10/01/16 11:44:59
boostはまともなプロジェクトじゃないんですかそうですか

212:デフォルトの名無しさん
10/01/16 12:20:20
>>211
boostは完全C++準拠
boostで警告が出るならコンパイラの問題

213:デフォルトの名無しさん
10/01/16 13:10:49
>>212
お前はGCCが糞だと言うのか。
だったら何を使えと言うのか?

214:デフォルトの名無しさん
10/01/16 14:36:29
>>213
URLリンク(www.boost.org)

まあこれでも見て考えや

215:10
10/01/16 15:02:23
>>212
boostはコンパイラのベンダ拡張使いまくりですけど。
それで、VCもICCも警告でまくりですけど。


216:デフォルトの名無しさん
10/01/16 20:46:35
201の発言をみて怖くなった。
この人は原因を把握しているのだろうか?
「落ちなくなったから正常に違いない」なんだろうか?
今までは「潜在的なバグがあるが偶然デバッグ版で動いていたがリリース版では動かなかった」で、
今は「潜在的なバグがあるが偶然デバッグ版でもリリース版でも落ちない」ではないだろうか?

最後に聞かせて欲しい。
不具合の原因はなんだったの?
初期化漏れ? コードの誤り?
「全く関係ないところを直したら落ちなくなりました」は原因じゃないですよ。

217:デフォルトの名無しさん
10/01/16 20:50:07
debug版だと勝手に初期化されてたまたま動くことがあるね
release版で死ぬなら初期化漏れかあるいはメモリ破壊だろ

218:デフォルトの名無しさん
10/01/17 12:53:27
ライブラリ作成が仕事でも自分の作ったライブラリをテストランするプログラムぐらい書くよな?

219:デフォルトの名無しさん
10/01/17 13:09:14
いくらテストランしたところでメモリ壊されたら対処のしようがないよね

220:デフォルトの名無しさん
10/01/17 13:54:40
Sさんのプライドを守ってあげるような言い方で協力を要請すべきだったな
プログラム云々より人間関係の信頼構築に失敗している

221:デフォルトの名無しさん
10/01/17 14:37:23
プライド?ヘボグラマの癖にプライドも糞もないわい

222:デフォルトの名無しさん
10/01/17 15:10:52
プライドなんか関係ない。認めざるを得ない証拠を突き付ければOK

223:デフォルトの名無しさん
10/01/17 15:22:40
ボンクラの>>1にそんなことができると思って(ry

そもそもSの書いた部分に原因があるとも、直ったのかどうかすら分からない。
しかも>>1はSに責任を擦り付けるためだけの情報しか書いていない。

224:デフォルトの名無しさん
10/01/17 16:36:13
Sのコード直したらたまたま直ったってだけで>>1のコードはまだ白じゃないだろ

225:デフォルトの名無しさん
10/01/17 16:46:20
何ヶ月も同じところで躓いたまま進まないことってあるのか

226:デフォルトの名無しさん
10/01/17 16:52:11
少なくともnew/deleteではありえない。その前にクビになる。

227:デフォルトの名無しさん
10/01/17 21:41:03
>>225
そんだけボンクラなんだろ。両者とも。
そんなことが許されてるからボンクラなままだとも言える。

228:デフォルトの名無しさん
10/01/19 00:30:23
以前あるプロジェクトで>>14みたいなコード書いて関数に値渡してたバカがいたよ。
そいつも一週間は格闘してたな。しかも露見した時の言い訳がひどかった。
参照渡しにするのを忘れたとか何とか。
コピー代入禁止にしとけばすぐに発見できることなのにな。
まあ>>1が同じ事してないことを祈るよ

229:デフォルトの名無しさん
10/01/19 12:46:20
ボンクラ再生産
ボンクラ(ボンクラ&)
ボンクラ operator = (ボンクラ&)

230:1
10/01/19 19:58:17
>>14のコードが糞だという意見がとても多いですね。
どう糞なのでしょう。
大半の方はSTLやスマートポインタを使っていない
から糞だといっているようです。
>>228の方は「>>14みたいなコード」(ダメなコードの意味だと思いますが)の
何がダメなんでしょうか。

231:デフォルトの名無しさん
10/01/19 20:52:13
コピーを考慮しないからじゃないですかね。

232:デフォルトの名無しさん
10/01/19 21:19:04
>>230
何がダメって理由書いたつもりなんだが…

void Test( C1 c ){}

int _tmain(int argc, _TCHAR* argv[])
{
C1 c;
c.init();
Test( c );
return 0;
}

露骨にコピーや代入やってもいいけど、まあ一応>>228の例
C2に空クラスでも実装すりゃコンパイルできるだろ
それと各種メソッドとかいうC1::xxx()をメンバ(a、b、c)にアクセスするように実装して
Test()とreturnの間でC1::xxx()を呼び出してみな
VCならそっちの方がわかりやすいメッセージが出るだろ
何が起こるか予想できるよな?

233:デフォルトの名無しさん
10/01/19 22:31:54
>>230
初期化子を使ってないとかnew失敗でNULLが返ってくる前提とか
初期化メゾットをコンストラクタで呼ばないとか
さんざん言われた設計だけでなく実装段階でもクソだ

234:デフォルトの名無しさん
10/01/19 22:41:03
>>1がソース晒さない限り、VC++のバグということで..
また 都 市 伝 説 が一つ増えたというわけだ。

235:デフォルトの名無しさん
10/01/19 23:13:10
クソみたいなコードを量産する前に、
せめてEffective C++ぐらい読んどけ

236:デフォルトの名無しさん
10/01/19 23:53:54
>>1
^^

237:デフォルトの名無しさん
10/01/20 21:50:18
>>232

デバッグ版で動いてリリース版で動かない例にはなってないな

238:デフォルトの名無しさん
10/01/20 22:14:49
URLリンク(msdn.microsoft.com)(VS.80).aspx

239:デフォルトの名無しさん
10/01/21 00:24:49
>>230
> 大半の方はSTLやスマートポインタを使っていないから糞だといっているようです。
アホすぎる。何が悪いと言われているのに理解できないお前のノーミソなど
味噌糞一緒くたにしてしまえ。そのノークソが一番糞だ。

たまにいるよな、これぐらい酷いアホ。
自分が理解できていないことを理解できないアホは救いようがない。

240:デフォルトの名無しさん
10/01/21 01:03:32
>自分が理解できていないことを理解できないアホは救いようがない。

世の中の殆どの人間がそうなんだが

241:デフォルトの名無しさん
10/01/21 01:06:18
>>1
なんか騒動になってるぞ。株式市場とかにも影響してくるから
釈明の意味でソース晒したほうがいいんじゃね?(情報漏れは
無いようにな)

242:デフォルトの名無しさん
10/01/21 01:38:50
>>241
おまえがその騒動とやらのソースをさらせよ

243:デフォルトの名無しさん
10/01/21 02:30:58
この手のスレはチンパンジーアイちゃんが出てから10程度
でオチるのが常。
しかしこの伸びは異常。やっぱし何かあるからだろな。

244:デフォルトの名無しさん
10/01/22 10:50:24
なんかの手違いで.hと{.obj|.dll|.lib}の不整合が起きてたと予想。
.objや.lib内ではnon-virtualなメソッドが最新の.hではvirtualになってたみたいな。
プリコンパイルヘッダの仕組みを理解せずに使ってたとか、
同じ.hに依存する2つのライブラリのビルドの整合がとれてないとか。


245:デフォルトの名無しさん
10/01/23 01:51:42
れすみないでかくけどはいれつのきょうかいこえてかきこんでるときに
にたようなしょうじょうおこるよね
でばっぐだとあいだにまーじんとってくれるからもんだいおきなかったりするし
printfいれるとうわがきされるいちがかわるからばぐはっしょうするし
はいれつをじさくarrayにおきかえてoperator[]じっそうして
きょうかいちぇっくやったらだいたいつかまるきがする

246:デフォルトの名無しさん
10/01/23 01:56:41
>>1は逃亡したつもりなのかもしれないが...

247:デフォルトの名無しさん
10/01/24 14:54:08
>>233
>設計だけでなく実装段階でもクソ

意味不明

248:デフォルトの名無しさん
10/01/24 15:32:17
「リゾット」あるいは「メゾネット」なら知ってるが、「メゾット」は俺も解らない。

249:デフォルトの名無しさん
10/01/24 18:15:55
おまえらドSだな

250:デフォルトの名無しさん
10/01/24 20:02:24
チンパンジーが何で関係あるの?

251:デフォルトの名無しさん
10/01/24 20:20:36
チンパンジー

252:デフォルトの名無しさん
10/01/29 12:10:34
>>1ですが
やっぱりコンパイラのバグだと思います。
Oilly Debugとかなんとかいうツールで生成コードを
見せてもらった至る所で違ってました

253:デフォルトの名無しさん
10/01/29 13:05:48
それならMSに報告しておいてくれ
次のバージョンでは直してもらえるかもしれない

254:デフォルトの名無しさん
10/01/29 14:07:49
次はムリ。次の次だな。

255:デフォルトの名無しさん
10/01/29 14:14:24
>>1
VCなどのコンパイラに感染するウィルスがあるって噂
を聞いた事ががあるんで、ウィルスチェック。
そんじょそこらのウィルスチェッカーじゃ弱くて
OSをインストールした直後で一切ネットに繋げていない
状態で、インストール元CD-ROMのパッケージを全部
こじあけてHDに展開して、すべてのファイルについて
MD5をとっておく。
(MD5データのみUSBメモリに保存しておく)
開発マシンの同名ファイルのMD5を取って比較する。
出来ればMD5だけじゃなく他のその手のチェックサム
を合わせて取って比較チェックしたほうがいいかも

256:デフォルトの名無しさん
10/01/29 16:54:32
このバグ既に報告済みだから

257:デフォルトの名無しさん
10/01/29 20:59:32
その生成コードとやらの掲載よろしく

258:デフォルトの名無しさん
10/01/31 22:55:15
>>1
とりあえず収拾してくれ

259:デフォルトの名無しさん
10/02/02 07:18:39
この手のバグは配列(ポインタ)のインデックス不正で起こることがとても多い。

260:デフォルトの名無しさん
10/02/02 08:58:43
>>259
本当はそうかもしれないけど、他人のコードがおかしいとケンカ売っている以上
もう、「ごめん、僕のミスだった」じゃ済まない。
だから、コンパイラのエラーにするしかなかったんだと思う。
特定のコンパイラだと運よく動くなんてことはままあるのだけど。

261:デフォルトの名無しさん
10/02/02 10:30:42
再現コード込みで文句言えない時点で騒いでる方のミス。
と俺は思ってる。

本当に問題あるのなら食わせたソースと吐いたアセンブラ突き合わせて説明できるはず。


262:デフォルトの名無しさん
10/02/02 20:58:21
アセンブラは吐かないだろ…

263:デフォルトの名無しさん
10/02/02 23:15:06
コンパイラのバグだったらアセンブラ吐かせて説明できるはずってことでしょ

264:1
10/02/03 00:08:18
随分日にちがたってしまいました。
アクセス規制にかかっててずっと書き込めませんでした。

ちなみに、>>252は私ではありません。

あと、皆さんのコメント見ててちょっと思ったんですが、
クラスの値渡しってまずいんですか?

そういうプログラムを普段書かないから分からないんですが、

265:デフォルトの名無しさん
10/02/03 00:15:43
>>264
値渡しは出来る(と思う)が、当然だがクラスへの変更操作は
呼び出し元には反映されないので、同一オブジェクトへの2つ
のバージョンが出来てしまうことになり多くの場合に問題が発生する
ので、通常はポインタ渡しにする。
VCの場合、プリコンパイルドヘッダ周りが結構悪さをして
予期せぬ不具合を作る場合がある。ビルドする際には
面倒でも中間ファイルを削除する習慣を付けたいもの
(その代わりビルドの時間が多少犠牲になる)

266:デフォルトの名無しさん
10/02/03 00:46:23
またVCバグ説w

267:デフォルトの名無しさん
10/02/03 00:49:19
>>264
コピー&代入がおかしいって既に数人が指摘してんじゃん

268:デフォルトの名無しさん
10/02/03 03:17:05
>>264
コピー、代入がしっかり設計されているクラスならば値渡しは問題にならない。
ただ効率の問題が別にあるがそれ自体はバグではない。
おまえの作った>>14のクラスをコピーや代入するとバグる。値渡しはその一例にすぎない。
二重deleteでヒープを破壊するからな。
もしお前がコピーや代入をたまたましていなくて問題がなかったとしても
>>14のクラスを他人が使う可能性があるとしたらやばいな
まあ他にも複合的な問題はありそうだけどな

269:デフォルトの名無しさん
10/02/03 04:14:40
なんでコピーコンストラクタや代入演算子を自前で書かないのかわからない
クラス内でnew/de;eteするクラスは自前で書くのが当たり前だろ

270:デフォルトの名無しさん
10/02/03 04:59:39
>クラスの値渡しってまずいんですか?
こういうレベルの人に C++ コードを書かせる時点で間違い

271:デフォルトの名無しさん
10/02/03 05:04:52
入門書レベルの質問じゃね?

272:デフォルトの名無しさん
10/02/03 05:25:40
あくまでも自分は悪くなく、コンパイラのバグだと言い張る奴は
いつまで経ってもバグが取れない

273:デフォルトの名無しさん
10/02/03 07:08:45
永久にとれるはずがない。
そいつが開発をしていること自体がプロジェクトのバグだからな。

274:デフォルトの名無しさん
10/02/03 13:51:32
「よくわかんないけど動いたのでこれでいいです」
これで許される環境がウラヤマシスギルw

275:デフォルトの名無しさん
10/02/03 15:09:43
まあ、許されてしまう所にいた結果、こんなことに
なってしまうんだろうなあと思う。


276:デフォルトの名無しさん
10/02/03 19:01:59
俺が上司なら、上を説得してそいつのコード全部を廃棄するレベル。

277:デフォルトの名無しさん
10/02/03 20:59:39
絶対に許さないよ

278:デフォルトの名無しさん
10/02/05 23:22:04
値渡しがコピーを発生させてしまうことを知らない
いや、そもそもコピーコンストラクタと代入演算子を知らないんじゃね?

279:デフォルトの名無しさん
10/02/05 23:50:36
もっと恐ろしい奴は、起こることを知っていても
それがどういう意味を持つのか理解できない奴。

確実に>>1はその類。

280:デフォルトの名無しさん
10/02/06 04:28:56
自分でnew/deleteせずにstl使ってれば
デフォルトのコピーコンストラクタと代入演算子で上手く行くのにね

281:デフォルトの名無しさん
10/02/06 08:36:02
えっ

282:デフォルトの名無しさん
10/02/06 12:05:50
>>280
こういう中途半端な知ったかが、プロジェクト内に害悪コードをまき散らす。

283:デフォルトの名無しさん
10/02/06 12:46:04
「C++はポインタがあるから不安定」とか抜かして
Java/C#を使ってぬるぽで頭を抱えている奴と同類だなw

284:デフォルトの名無しさん
10/02/06 13:03:03
問題の原因を追求せずに回避策ばかり論じる奴もバグの温床

285:デフォルトの名無しさん
10/02/06 13:55:59
>>283
そーいう連中はしねばいいのに。

286:デフォルトの名無しさん
10/02/06 18:25:25
>>280が何を言いたかったのかさっぱりわからない

287:デフォルトの名無しさん
10/02/06 22:19:31
多分このスレの頻出単語適当につなぎ合わせてそれっぽい文章をつくるスクリプトだよ

288:デフォルトの名無しさん
10/02/08 17:46:21
このスレなんでこんなに人気あるんだ?

289:デフォルトの名無しさん
10/02/08 18:03:35
ぬるぽの方がマシかと

290:デフォルトの名無しさん
10/02/08 19:10:21
>>1は早くソース晒せw

291:デフォルトの名無しさん
10/02/08 20:27:21
>>290
そんな。ソース出したら間違いが分かっちゃって、先輩のせいにできないじゃないですか!!!
もう、コンパイラのせいでいいんです。

292:デフォルトの名無しさん
10/02/08 21:40:52
>>14でC1のインスタンスを値渡ししちゃったんでしょ

293:1
10/02/11 17:18:44
ここの方々の書き込みのお蔭でだいぶ勉強になってます。
ありがとうございます。

コピー、代入に話が集中してきていますが、
今回の不具合とは関係ないです。

クラスC1がコピーできないのはその通りえすが、
コピーや代入を前提としてないので大丈夫です。

294:デフォルトの名無しさん
10/02/11 18:20:09
ソース無しで議論させるの?

295:デフォルトの名無しさん
10/02/11 18:22:13
C++がわかる>>1はすごい

296:デフォルトの名無しさん
10/02/11 20:48:56
コピーや代入は前提としてないので(キリッ

297:デフォルトの名無しさん
10/02/11 21:20:56
>>293
あんたプログラムやめて真剣に他の生き方を模索した方がいいと思うよ

298:デフォルトの名無しさん
10/02/12 00:36:19
>前提としてないから大丈夫
じゃああらゆる不具合も前提としなければ大丈夫

299:デフォルトの名無しさん
10/02/12 04:20:19
>>28
会社都合の方が条件良いよ。

300:デフォルトの名無しさん
10/02/12 12:41:44
値渡ししたらコピーが発生するんだが

301:デフォルトの名無しさん
10/02/12 12:44:39
もう放っとけよ
こいつがどうなろうと俺には全く関係がないし

302:デフォルトの名無しさん
10/02/12 13:02:10
>>301
でも、実際、ある日突然新米プログラマーが
「2chであなたのプログラムがおかしいという結論になった」
とか言いがかり付けてきたときのケーススタディにはなると思うよ

303:デフォルトの名無しさん
10/02/12 13:34:17
そもそも値渡しなんか使わない
普通はポインタか参照を渡す

304:デフォルトの名無しさん
10/02/12 14:27:21
他人のコードまで制御できるか?
できるなら実装で禁止するべきだし、そうでなくてもドキュメントに書いて仕様とする必要はあるだろ

305:デフォルトの名無しさん
10/02/12 15:13:33
コピーコンストラクタと代入演算子が使えないようにしとくべきだとは思います

306:デフォルトの名無しさん
10/02/12 15:18:51
noncopyableただしmovable

307:デフォルトの名無しさん
10/02/13 05:49:41
値渡ししてるのかしてないのか知らんけど
何らかの暗黙のコピーが発生してるんじゃないかって話じゃないのか?
前提としてないから大丈夫って答えからするとまともにチェックしてなさそうだが
オレも実装で禁止すべきだと思うよ。
他人が誤使用してしまったら終了じゃん

308:デフォルトの名無しさん
10/02/13 07:22:32
>>304
他人が誤用しないようコードで抑えるのは当然として、
他人のコードであろうとコードレビューで品質を抑える。
レビューですら抑えられないレベルのバカのコードは黙って捨てる。

まぁそもそも>>1の言っていることだから、本当にSが原因だとは限らないがなw

309:デフォルトの名無しさん
10/02/13 10:42:57
どうやって禁止するの?

310:デフォルトの名無しさん
10/02/13 10:53:26
access specifierで禁止する。

311:デフォルトの名無しさん
10/02/13 12:58:12
大元のバグの原因になっているクラスのコピーコンストラクタと
代入演算子さえ正しく書けば動くんじゃないの?

312:デフォルトの名無しさん
10/02/13 23:48:36
コンストラクタ&コピーコンストラクタ&=オペレーターで
全メンバを 順次 初期化は基本中の基本

313:デフォルトの名無しさん
10/02/14 02:18:30
boostにnoncopyableなんてあるのな

314:デフォルトの名無しさん
10/02/14 10:07:13
>>313
必ずしもそれは使わなくてもクラスに次の3行

private:
A(const A&);
A& operator=(const A&);

を付け加えるか(もちろんAは実際のクラス名に変更)これを継承すれば
コピー不可能になるよ

315:デフォルトの名無しさん
10/02/15 05:56:26
可読性が高いのはどっちかね

316:デフォルトの名無しさん
10/02/15 11:47:24
boostを使えない現場では>>314のようなテクを使うしかないだろう
仕事でboostが必ず使えるとでも思っているのか?

317:デフォルトの名無しさん
10/02/15 12:08:02
あああともう一つ
>>314だけを入れたクラスをnoncopyableという名前で宣言しておき、
これを継承すればboostと同じ事になるから可読性が下がるという
事はない

318:デフォルトの名無しさん
10/02/15 12:45:46
俺は生が好き

319:デフォルトの名無しさん
10/02/15 14:21:00
>>316
boost使えても、普通は>>314

320:デフォルトの名無しさん
10/02/16 22:31:58
>>319
んなこたない。

例えば WebKit では Noncopyable というクラスを自前で用意してそれを使っている。
URLリンク(trac.webkit.org)

321:デフォルトの名無しさん
10/02/16 23:44:56
ライブラリやフレームワークが提供するものを指して
自前で用意するっていうのか?

322:デフォルトの名無しさん
10/02/17 08:28:45
boost脳はいいかげんにしてほしい

323:デフォルトの名無しさん
10/02/17 08:30:09
じゃあはやく0x使わせろよ

324:デフォルトの名無しさん
10/02/17 11:34:53
>>320
んなことないこたない。
一段階余分なものがあると、それを知らない奴はその内容を調べないとならないだろ。
手間がかかるわけじゃなし、>>314が最良だろ。

325:デフォルトの名無しさん
10/02/17 17:09:58
>>314だと、「こんなのあるからコピーができないんだ!」とかいって、
いつのまにか誰かに修正されちゃうかもしれないだろ。w

326:デフォルトの名無しさん
10/02/17 17:16:49
>>325
糞吹いたw

327:デフォルトの名無しさん
10/02/17 17:19:35
C++を使うのが間違い
C#かJavaを使うべし

328:デフォルトの名無しさん
10/02/17 20:42:28
>>326
マジで派遣にそれをやられたことがある。
「事前条件チェックするな!実行したら落ちたろ!」と逆ギレされたこともある。
「constなんて使っているバカは誰だ!コンパイルが通らないだろボケ!!」には参った。

仕組みとして防ぐのがベスト、しかも明示的に書くのが理想だが、残念ながらアホには通じないw

329:デフォルトの名無しさん
10/02/17 21:01:36
随分態度のでかい派遣だな

330:デフォルトの名無しさん
10/02/18 00:25:53
アホっていうか
派遣にしろプログラマにしろ
そんな危なっかしいのはとてもじゃないけど雇ってられないな

フレームワークやシステムの思想を独断で破られるとか後が大変だぞ、、

331:デフォルトの名無しさん
10/02/18 00:43:25
>>324
Noncopyable という名前を見て意図を察することのできない奴はよっぽどの痴呆
万が一コードを見に行ったとしても20秒で読み終わるぞ

似たようなコード片をあちこちにばら撒くよりはミスの可能性が減るし、やっておいて損はない


332:デフォルトの名無しさん
10/02/18 11:09:48
boost脳はいいかげんにしてほしい

333:デフォルトの名無しさん
10/02/18 11:56:31
>>331
お前は、ファイルの場所も内容も知ってるから20秒で終わるんだよ。

334:デフォルトの名無しさん
10/02/18 12:03:45
ほんのちょっとコードを加えれば、明示的にコピー禁止なクラスになるし、プロジェクト内で
コピー禁止なクラスなんて数個くらいだろうに、なんでほんのちょっとコードを加えるのを
嫌がるのだろうか。
そもそもC++はMix-in的なものはなじんでないから、Noncopyableに限らずいくつも多重継承
されてると、はてなと思ってしまう。

335:デフォルトの名無しさん
10/02/18 17:13:45
自作クラスのメンバ変数にポインタを使うようになったら
半分バグってると思って扱ったほうがいい

336:デフォルトの名無しさん
10/02/18 18:18:26
えっ

337:デフォルトの名無しさん
10/02/18 20:58:33
なんでnoncopyable程度の簡単な抽象化すらサボって全部手書きしたがるの? マゾ?
プログラマなんて労力を省いてなんぼの商売でしょうに。

338:デフォルトの名無しさん
10/02/19 01:21:00
boost使えなかったり、なんかの理由でに使わない場合だってあるでしょ

339:デフォルトの名無しさん
10/02/19 04:58:17
「なんでNoncopyable程度の簡単なコードすらサボって抽象化したがるの?」
でも成立しそうな気がした。

340:デフォルトの名無しさん
10/02/19 11:41:30
>>337
privateに決まり切った二行を追加するだけだろうが。
Noncopyable使う場合もinclude文と継承部分の変更が必要で、合計二行の変更が必要。
どんだけ労力変わるんだよ?

341:デフォルトの名無しさん
10/02/19 13:00:08
noncopyable継承でオーバーライドを防げるの?

342:デフォルトの名無しさん
10/02/19 13:10:36
みんなアホすぎて話にならん。
noncopyableを使うメリットは、クラスの宣言全部を見ることなくそのクラスがコピー不可だとわかること。
privateに追記派は、クラスのコメントに「コピー不可なクラス」とか書いちゃうわけ?

343:デフォルトの名無しさん
10/02/19 21:54:01
誤ってコピーを誘発させる記述をしてしまった時にコンパイルエラーが
引き起こってくれればいいわけでどっちでも構わないけどな

まあ、値渡しで何が起こるかわからないとか、コピー禁止の方法を知らないとか、
そういうのがこの上のレスだけでも散見できるわけで
noncopyableがあれば一目瞭然というほどの知名度はなさそうだけどな

>>341
final属性か何かと勘違いしていないか?

344:1
10/02/21 17:57:36
バグは取れておらず先週サーバーとして動作していた
アプリが突然落ちて、DBマスターを壊したみたいで
大騒ぎでした。で、金曜日についにM$社の担当者が
呼び出されていました。ソースを渋々見せながら状況
を上司が説明したところ、結局担当者にも原因がわか
らなかったようで、「どうか御内密に」という意味で
しょうか、ずっしりと重いキャスター付き旅行用スー
ツケースを置いてきました。あの中には何が入ってい
たのかは大体想像がつきますが、金曜日の晩は普段は
飲み会は常に割り勘なウチの会社が珍しく高級バーに
招待してくれました。

345:デフォルトの名無しさん
10/02/21 19:54:52
「サーバーとして動作していたアプリ」はサーバじゃないのか、てのは置いといても
それで DB 壊れるってかなり酷いレベル。

346:デフォルトの名無しさん
10/02/21 20:45:49
コマンドラインで単独一回限りの実行もしてくれるんですが
/Sオプション付けると常駐して専用DLLを通して
連続的にサービスを実行してくれるアプリケーションも
あります。

347:デフォルトの名無しさん
10/02/21 22:40:09
なんか一気に嘘臭く

348:デフォルトの名無しさん
10/02/22 01:16:05
ホラも限度を超えると訴えられるぞ

349:デフォルトの名無しさん
10/02/22 07:23:32
だよな。
これはMSに訴えられたら負けるレベル
ネットには何を書いてもいいといまだ思っているやつがいるとは。
ご愁傷さま

350:デフォルトの名無しさん
10/02/22 13:24:45
サイドパーティを含めて
ずっしりと重い過去資料(マニュアル、参考書、一部プリント
アウト)ってのが関の山だろ
使用許諾契約書にミッションクリティカルな用途には
使ってはならない
と明記されているんだし...

351:デフォルトの名無しさん
10/02/22 14:19:42
サイドメニュー?

352:デフォルトの名無しさん
10/02/24 01:13:08
サラダとかデザートとかもりもり出てくるパーティかな。

353:デフォルトの名無しさん
10/02/24 04:45:53
サイドパーティじゃなくてサードパーティ
これは敢えて書く迄もないだろw
>>1が高級バーに連れて行ってもらえた
実はこれから始まるバグフィックスまでの
開発室監禁の挨拶代わりじゃねの?

354:デフォルトの名無しさん
10/02/24 12:24:57
「今日のバーはサラダも食べ放題だ」
「ええっ!!ドリンクだけじゃないんですか?!!!」

355:デフォルトの名無しさん
10/02/24 17:03:51
パーティじゃなくてバー

356:デフォルトの名無しさん
10/02/24 19:50:52
ああ、キカイダーが乗ってるやつ。

357:1
10/02/24 21:58:37
>>1ですが、今同僚の女性社員3名と開発室に監禁されて
ます。部屋にはビデオ付きベッドが置かれており共用で
す。シャワールームもトイレットも何故かついてます。
ベッドの上にテーブルを持ち込んで4人並んでPCに
向かってます。部屋はかなり暖房がキツめで皆裸です

358:デフォルトの名無しさん
10/02/24 23:19:23
おっきした

359:デフォルトの名無しさん
10/02/24 23:32:59
トイレをトイレットと言う所に感心した

360:デフォルトの名無しさん
10/02/25 06:45:30
>>358
だが待ってほしい。その3人が森三中レベルだったとしたら、どうだろうか?

361:1
10/02/25 15:15:22
まだ開発作業は続いています。昨晩はちょっと原因が
わかりかけたので3人からご褒美を頂きました。
それぞれ微妙に違うもんですね。結構開発されてました。
さすがに4人でダブルベッドに寝るのは窮屈でしたが。
起きたのはお昼前です

362:デフォルトの名無しさん
10/02/25 15:32:08
2回射精した


363:デフォルトの名無しさん
10/02/26 13:01:37
いいスレだな

364:デフォルトの名無しさん
10/02/26 15:16:52
ここにきて良スレと化す

365:1
10/02/26 17:00:36
今日も監禁開発作業が継続されています。
見込みでは週明け位までは終わりそうに
ありません。
今日始めて一人の同僚がお尻を拭かせて
くれました。
いつもはボクが前のほうを拭く役割なので
すが...

366:1
10/02/26 18:12:48
開発作業って情事そのものだなって痛感してます

367:1
10/02/26 21:00:32
あと、>>1の不具合が再発し、修正のための工数を精査し6ヶ月と見積もった所、
上司が発狂し3週間で直せと無茶苦茶な事を言い出しました。
社長と専務に「他人の不具合修正を超短期間でやれと押し付けられた」と
事実を伝えたらSと上司は3/21付けで他部署に左遷が決まりました。
五月蝿いのがいなくなったので、これで心置きなく
不具合原因報告書に「原因:Releaseビルド 修正法:Debugビルド」とかけます。

368:1
10/02/27 02:00:51
今もまだ開発作業中です。
隣で一人の同僚の娘は裸で寝てます。
時々ボクの股間に手を伸ばしてきますが
払いのけながらの仕事です。もう慣れました。

369:デフォルトの名無しさん
10/02/27 10:44:36
もう少しうまくやれ

370:デフォルトの名無しさん
10/02/27 10:53:36
>>1がネタスレ化しようとして必死なのは理解できた

371:デフォルトの名無しさん
10/02/28 00:42:38
おれにはもう1はいないように思えるんだけど

372:デフォルトの名無しさん
10/02/28 01:14:29
>>1は実在しない。

>>1とは、無能な開発者を、Sに劣らないレベルの高いライブラリを作りたいと望む人々の間で、自然発生的に生まれた底辺プログラマである。

はじめはジョークに過ぎなかった。
>>1はこの世のどこかにいるはずの底辺プログラマだった。
しかしそれは>>14のまさに『糞』と呼ぶに相応しいコードにウンザリしていた京都大学霊長類研究所の間で瞬く間に広まって行った。
Sのコードがこう動いた。VCのあのデバッグモードは美しかった。
>>1はそうやって、少しずつ理想のバグの原因を突き止めていった。
彼は健康で顔色のよい新入社員である、彼が敵対する同僚はSである、彼はバグの原因を他人のせいにしておかないと落ち着かない、
そして彼は親しみやすいことにメモリ破壊が大好きなのだ!

>>1はこうして、天才チンパンジーの理想のプログラマのイメージのコラージュとして生まれたのである。
アイちゃんは>>1を欲した。故に>>1は存在するのである。

373:1
10/02/28 01:33:13
ふ~
まだバグが取れません。
彼女達は昼間かなりしつこく攻めてきましたが
さすがに今は疲れたのか横ですやすや三人並んで
寝ています。
彼女達のウンコの匂いも嗅ぎました。
一体感が出てきたので頑張って開発を続けます。

374:デフォルトの名無しさん
10/02/28 11:09:08
スカトロはちょっと

375:デフォルトの名無しさん
10/03/01 08:19:36
>横ですやすや
を横山やすしと空目したことだけは伝えたい。

376:1
10/03/01 09:26:30
皆出勤してきたみたいです。隣のオフィスが想像しく
なってきましt。私たちはまだ監禁されてます。

377:1
10/03/04 18:12:54
まだ監禁は続いてます。
作業開始から1000回はmakeしてます。

378:1
10/03/05 04:54:12
お久しぶりです。本当の1です。>>293以来です。
またアクセス制限に引っかかって、ずっと書き込めませんでした。
>>344から>>377の1を名乗る書き込みは私ではありません。

お蔭様で、私が担当していたソフトは、無事納品できました。
試験もすべてクリアし、newやdeleteでの異常終了はもう起きていません。

379:1
10/03/05 05:58:27
と言える日はいつ来るんだろか。
今日もまたオフィス横の監禁室での
彼女達とのmake作業が大量に...

380:デフォルトの名無しさん
10/03/05 12:58:53
>>379
もうやめろよ。>偽者

381:デフォルトの名無しさん
10/03/05 14:29:39
>>378
結局何が原因だったのかまとめてくれないか?
会社によってはそういうのは人工的に再現出来る
段階まで煮詰めないとフィックスしたとは
認めてくれないところもあるね。

382:デフォルトの名無しさん
10/03/05 17:51:27
>>381
>結局何が原因だったのかまとめてくれないか?
メンバー全員のレベルが低かった。

383:デフォルトの名無しさん
10/03/05 18:39:24
メンバーがC++を使うにはまだ早かった or 年行きすぎてもうCしか使えなかった

384:デフォルトの名無しさん
10/03/05 22:10:29
原因:S
解決策:Sのコード修正

これが>>1の限界。これ以上の調査を>>1に求めるのは酷だぞ。

385:デフォルトの名無しさん
10/03/06 10:24:51
原因:不明
解決策:仕様

これが>>1の限界。これ以上の調査を>>1に求めるのは酷だぞ。

386:デフォルトの名無しさん
10/03/06 15:09:31
ポインタの二度消しやってて実行中にエラー吐いて
仕様だって騒いでた奴いたな~

387:デフォルトの名無しさん
10/03/06 15:42:08
俺のところには二度消しをやって修正に時間をおもいっきり喰った上に
レビューでdeleteを全て消して修正したと言い張り
挙句にnew/deleteはC++の不具合だと断言した奴がいた。

まぁ、>>1もその同類だろうがなw

388:1
10/03/06 16:37:59
原因は同僚の女性とのコミュニケーション不足でした
今、改善に向かって日夜努力中です。

389:デフォルトの名無しさん
10/03/07 12:09:10
俺は年行きすぎてもうC++しか使えん

390:デフォルトの名無しさん
10/03/07 22:01:40
C++初心者だけど、>>1以外の人たちのレスが結構ためになった。
初めの方はみんな何言ってるのかさっぱり分からなかった。(何しろdelete[]の[]が□にしか見えなかったのは内緒)
悔しいから、分からない単語をひとつずつ調べていったら、徐々に理解できるようになった。
皆さんありがとうございます。


391:デフォルトの名無しさん
10/03/07 22:32:09
俺も勉強になった。
みんな結構優しいんだよな。

392:デフォルトの名無しさん
10/03/07 22:38:34
なんだ俺が二人もいるのか

393:デフォルトの名無しさん
10/03/08 22:13:14
ゆとり乙
とりあえず中学くらいは卒業しとけや


394:デフォルトの名無しさん
10/03/11 00:25:26
このスレを振り返ってみた。
>>44 での>>1 の取った行動。

44 :1:2010/01/07(木) 21:55:51
>>20 スルー
>>23 都合のいい一行目だけ視界に入るものの2行目は理解を超えたためスルー
>>31 同様にスルー

アッー

395:1
10/03/11 00:32:40
監禁は続いています。みなもうクタクタです。
make総数はついに3000回を超えました。
絶倫と呼んで下さい。
ネットアクセスは暫く自粛しますんで。
次に1を名乗るカキコが出ても偽物だと思って
下さい。

396:デフォルトの名無しさん
10/03/11 00:41:25
そんな大量の回数makeできるプロジェクトの規模なんて
たいしたことないと思うがw

397:デフォルトの名無しさん
10/03/11 00:53:20
例えばLinuxカーネルとかだったら、一日に何十回も更新が入るんで
makeして問題が発生してないかチェックする専門グループ
とか居て、別スレッドで作業してんじゃね?
何十台ものPCで並列でmakeを数十分置きに行ってたりしてるとか。
正式なバージョンアップとして公開されるカーネルは失敗した
更新を除いたもの

398:デフォルトの名無しさん
10/03/11 01:31:00
なるほどね
専門のチェックグループがいるのに>>14みたいなコードが許されてしまうのか

399:デフォルトの名無しさん
10/03/12 12:40:25
永遠にクビになるまで監禁されてれば?
コピーコンストラクタと代入演算子の必要性がわからない奴は
C++触るなよ

400:デフォルトの名無しさん
10/03/14 00:52:53
コピーコンストラクタと代入演算子の扱いのデリケートさは
C++の最大の難所。仕事でさせられる人は可哀想だと言えば
可哀想。
Java経験者ならすぐにその辺り察知して回避したり、使い
分けられるようになるだろうからなおさら...

401:デフォルトの名無しさん
10/03/14 06:57:10
ジャバ(笑)

402:デフォルトの名無しさん
10/03/14 07:52:12
蛇婆

403:デフォルトの名無しさん
10/03/14 12:09:43
C経験者ってんならわかるけど
JAVAだけやってたひとがそのへんの
危険さをすぐに理解できるとは思えない

404:デフォルトの名無しさん
10/03/14 12:37:12
JAVAって全部大文字なの?Javaじゃなくて?

405:デフォルトの名無しさん
10/03/14 16:39:38
おっさんがよくJAVAって書くよな
違和感はあるが公式にも全部大文字の例があるから間違いではないだろう
それより全部全角のほうが気になる

406:デフォルトの名無しさん
10/03/14 17:01:47
日本語入力にしてたら
英語入力しようとおもったらSHIFTキーを押しながらやるから全部全角でいいんだよ
いちいちF10を押したり半角全角で切り替えるのか?めんどくせーやつだな

407:デフォルトの名無しさん
10/03/14 17:48:51
いや2chだし好きにすりゃいいよ
別にめんどくさいとは思わんけどね
おまえさんだってコード書いてるときは日本語入力切り替えるだろ

408:デフォルトの名無しさん
10/03/14 21:21:49
どうかんがえても半角全角キー一回押すよりshift押しながら打つほうがめんどくさいだろ
いや、いいんだけどさ

409:デフォルトの名無しさん
10/03/15 01:24:39
半角モード涙目

410:デフォルトの名無しさん
10/03/15 01:44:30
Javaは良い選択肢だと思うぜ
>>1はJavaへ移行することでC++の煩わしさから解放されるだろう
オレも>>1がC++の世界からいなくなることで不安から解放される

411:デフォルトの名無しさん
10/03/15 06:37:54
>>410もJavaを一度やってみたほうがいい
そしたらC++の煩わしさなど大半はアホらしい
もの(Java勉強不足/C勉強不足が原因)だった
ということがわかる筈(本当に煩わしいものは
あることはあるが)(C++の世界(笑))

412:デフォルトの名無しさん
10/03/15 07:17:03
java(笑)なんて何の役に立つんだ
CPU資源を無駄食いした糞重いソフトが出来上がるだけじゃねえか
ソフトウェアは速さこそ正義だ


413:デフォルトの名無しさん
10/03/15 09:04:02
みんながみんなF1を欲しいわけじゃないしなぁ
中にはステップワゴンを欲しい人間も居る

414:デフォルトの名無しさん
10/03/15 09:26:11
JavaをF1に例えるのは買いかぶり過ぎ
C++もステップワゴンとは違うだろ

415:デフォルトの名無しさん
10/03/15 09:33:08
おいw

416:デフォルトの名無しさん
10/03/15 09:37:03
春眠暁を覚えず

417:デフォルトの名無しさん
10/03/15 10:30:27
VC++ →(VC)++
BCC++ →(BCC)++
共にWindows環境依存の拡張があるんで、こう考えた
ほうがいいかも
Java→(--(C++))++
()を外す事ができないことに注意

418:デフォルトの名無しさん
10/03/16 05:39:30
外す事ができないことに注意(キリッ)

419:デフォルトの名無しさん
10/03/20 01:51:27
>>1はまだ監禁されて女子社員達とmakin' loveな毎日を
送ってるのか?

420:デフォルトの名無しさん
10/03/20 02:59:29
南京に行ったんじゃね?

421:デフォルトの名無しさん
10/03/22 18:33:19
偽1はもう来ないのか

422:デフォルトの名無しさん
10/03/23 19:47:27
本物の1もなかなか来ないけどね。

423:デフォルトの名無しさん
10/03/24 18:56:02
改めてC++は分かりにくいと感じたよ。
C#のネイティブコンパイラがVSに含まれないかなぁ。

424:デフォルトの名無しさん
10/03/24 20:54:44
(Windowsユーザなら無償DL可という意味での)フリーな
csc.exeじゃ不満か?

425:デフォルトの名無しさん
10/03/24 21:35:39
.NETではないネイティブコードを出力できるC#コンパイラが
Visual StudioのIDEから使用できたらなぁ。
という意味でした。
需要はあると思うんだけど。


426:デフォルトの名無しさん
10/03/24 22:04:21
Ngenでも使ってください

427:デフォルトの名無しさん
10/03/24 22:50:24
Ngenはネイティブコードにコンパイルしてくれるけど、
実行時には.NET Frameworkが必要だから。


428:デフォルトの名無しさん
10/03/24 23:02:29
それは別にいいだろ

429:デフォルトの名無しさん
10/03/24 23:03:18
どんな言語使っても>>1はダメだろ

430:デフォルトの名無しさん
10/03/25 00:29:17
こんなクススレがなんで人気あるんだ?

431:デフォルトの名無しさん
10/03/25 02:17:27
反面教師になるからかな。

432:デフォルトの名無しさん
10/03/25 12:32:38
Mono-FrameworkではC#コンパイラがあってlinuxやMac-OS
でも動作するとか.
なんで現時点でもあの複雑きわまりない文法を解釈しネィティブ
コードを吐き出すものが無いとも言えない。
ただし勿論.NETの語彙に精通することがコーディングには
必須。されど.NETはWindowsアーキテクチャーを強く仮定
してるものだから使い勝手が良いものになるとは今のところ
思えない。

433:デフォルトの名無しさん
10/03/25 14:40:09
>>432
日本語でおk

434:デフォルトの名無しさん
10/04/08 18:06:40
ちょっと良く分からないんですが、
14のコードはばっちりC++だと思うんですが、
糞とか言ってる人は何が言いたいんでしょうか。

435:デフォルトの名無しさん
10/04/08 18:41:53
悪いのは>>1じゃないもん

436:デフォルトの名無しさん
10/04/08 18:46:05
>>434
だからインスタンスを関数呼び出ししたり代入してみろって

内部でヒープから確保する部分のあるクラスにコピーコンストラクタも
代入演算子もないとか、基本中の基本を破っているんだぞ

437:デフォルトの名無しさん
10/04/08 19:08:33
件のC1をvectorに放り込んだらどうなるんだ?

438:デフォルトの名無しさん
10/04/08 19:13:51
>>20でオチが出てる

439:デフォルトの名無しさん
10/04/08 19:17:30
不思議なスレだな。

440:デフォルトの名無しさん
10/04/08 19:18:05
で、>>1はクビになっちゃったとか?

441:デフォルトの名無しさん
10/04/10 00:49:54
>>1みたいのが出ないように発症例あげてみる

URLリンク(codepad.org)
URLリンク(codepad.org)

442:434
10/04/17 13:16:08
コピーや代入がちゃんと設計できてないから、
C++っぽくないってことですかね。

443:デフォルトの名無しさん
10/04/17 16:49:16
ぽくないとかそういうレベルじゃない
下手に扱うとエラーが発生するから糞


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch