- 1 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:03:42 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.54【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1210694402/l50 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 144 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:24:12 ]
- ii_intl.ilが参照でもポインタでもないから、
setilの中では、iからilへ値がコピーされている。
- 145 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:24:59 ]
- deleteってのはオブジェクトをもう使わない、とシステムに返す命令。
中身をクリアするわけじゃない。 直後に i を参照すれば、その間に何の処理も行われないからメモリ上は前の値が残っている。 それを参照しているだけ。 いつどのタイミングで、このiの値が書き換えられるかは、誰にも予想できない。
- 146 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:26:08 ]
- げ、恥ずかしい。
144のいうとおりだった。 145は早とちり。
- 147 名前:143 [2008/06/18(水) 17:35:28 ]
- レスありがとうございます。
クラスintlの定義を変えて class intl{ public: int *il; void setil(int &i){*il=i;} }; とした場合はやはりdelete後もilが残り、 class intl{ public: int *il; void setil(int &i){il=&i;} }; とした場合はdeleteによってilも消えるようです。 >>144によれば、iが参照渡しでかつilがポインタであっても *il = i; の場合はiのコピーが渡されるということのようですね…。 この場合、il自身はインスタンスi_intlが消えるまで生き残るということですよね? うーん、ややこしい気がする…。
- 148 名前:143 mailto:sage [2008/06/18(水) 17:35:56 ]
- sage忘れすみません。
- 149 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:58:20 ]
- > int *il;
> void setil(int &i){*il=i;} 初期化してないポインタ il が指す場所に値を入れてるのでダメ。
- 150 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:58:58 ]
- 参照をポインタと似たようなもんだと思っていたら訳ワカメになるよ。
どうやらポインタのほうも理解していないようなので、 まずポインタとメモリの動的確保をきっちり勉強したほうがいいね。
- 151 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:19:58 ]
- 巷じゃMozilla Firefox 3.0の話題でもちきりだが、4.0世代はC++で開発するんだな・・・
- 152 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:20:52 ]
- いまままではCC??
- 153 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:45:48 ]
- memcpyは第三引数が0であっても正常に動作する事が保証されていますか?
- 154 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:06:29 ]
- 規格に 0 だとダメとか特に書いてないから 0 でも大丈夫。
- 155 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:07:42 ]
- 派生の質問だけど、第3引数が 0 で第1第2引数が NULL の場合はどうなんだろ。
memcpy の規格には領域が重なってるときは未定義ってことしか書いてないけど・・・。
- 156 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:10:46 ]
- そういや、いつの間にか規格が文書内検索できるようになってた。
結構文句きてたんだろうな。
- 157 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:22:31 ]
- Foxit Readerで見れなくなっちまった。
|

|