[過去ログ] 【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
248
(1): 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 22:27:48.20 ID:tJX9Zx+g(1/9) AAS
new char[1]は、要素数1の動的配列へのポインターで、中身は初期化されていない。
249: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 22:33:06.29 ID:tJX9Zx+g(2/9) AAS
<< m_pcと書くと、当然m_pcは、C文字列として解釈されるが、初期化されておらず、ヌル終端とは限らないので、
文字化けする。
250: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 22:35:13.01 ID:tJX9Zx+g(3/9) AAS
教訓。生ポインターは使うな。std::stringやstd::vectorなどを使え。
251
(2): 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 22:46:24.97 ID:tJX9Zx+g(4/9) AAS
resizeは、引数なしのコンストラクターでオブジェクトを作成して、それをvector内部にコピーする。
このコピーの際にコピーコンストラクターが使われる。コピーコンストラクターは記述されていないから、暗黙のものが使われる。
それはポインターの中身をコピーしていないから、問題がある。
252: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 22:57:09.01 ID:tJX9Zx+g(5/9) AAS
よくわからなければ、
CManiac(const CManiac& cm)
{ ... }
というコピーコンストラクターを書き加えてみるとよい。
253: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 22:59:09.90 ID:tJX9Zx+g(6/9) AAS
代入の
CManiac& operater=(const CManiac& cm)
{
...
return *this;
}
も追加。
255: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 23:06:30.72 ID:tJX9Zx+g(7/9) AAS
IDEのデバッグ機能を使えば、std::vector::resizeなどのソースコードも読めるよ。
256: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 23:08:15.66 ID:tJX9Zx+g(8/9) AAS
>>254
254(1): デフォルトの名無しさん [sage] 2017/08/02(水) 23:05:54.19 ID:qrhQzK+m(1) AAS
unsigned intなどを使って何かいい事有るのか?普通にint使えばいいだろ?
符号なし整数の比較が出来る。負の場合を考えずに済む。
258: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/02(水) 23:11:05.31 ID:tJX9Zx+g(9/9) AAS
符号ありよりも大きな範囲を扱える。ビット演算やビットフィールドで便利。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s