トップページ > プログラム > 2014年09月22日 > 9pHn0j6v

書き込み順位&時間帯一覧

9 位/190 ID中時間01234567891011121314151617181920212223Total
書き込み数5000000012000000000000008



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【初心者歓迎】C/C++室 Ver.92【環境依存OK】
Eclipse統合M35【Java/C++/Ruby/Python/Scala】

書き込みレス一覧

【初心者歓迎】C/C++室 Ver.92【環境依存OK】
711 :デフォルトの名無しさん[sage]:2014/09/22(月) 00:12:18.72 ID:9pHn0j6v
メンバ関数内でインスタンス化したメンバ変数を、
別のメンバ関数内で自殺した後にメンバ変数を返すという処理を作りたいのですが、
deleteされているのでメンバ変数がnullになります

なので、メンバ変数ではなく、クラスを指定して自殺した直後にインスタンス化してそれを返そうと思うのですが、
型を変数に代入し、それを元にインスタンスを作ることは可能なのでしょうか?
【初心者歓迎】C/C++室 Ver.92【環境依存OK】
713 :デフォルトの名無しさん[sage]:2014/09/22(月) 00:22:07.21 ID:9pHn0j6v
あ、delete thisとメンバ変数をreturnで返せる方法があればその方がいいです
別にローカル変数に参照を避難させてもいいんですが、方法があるなら知りたいです
【初心者歓迎】C/C++室 Ver.92【環境依存OK】
715 :デフォルトの名無しさん[sage]:2014/09/22(月) 00:24:47.05 ID:9pHn0j6v
>>712
「自殺した」を「インスタンスが自殺した」と補足すればわかりやすいかもしれません
【初心者歓迎】C/C++室 Ver.92【環境依存OK】
716 :デフォルトの名無しさん[sage]:2014/09/22(月) 00:28:16.17 ID:9pHn0j6v
>>714
そのインスタンスの親クラスのポインタです
つまりそのインスタンスと、メンバ変数の型は兄弟で、
そのメンバ関数は自分を返すか、自殺してメンバ変数を返すか
のどちらかです
【初心者歓迎】C/C++室 Ver.92【環境依存OK】
717 :デフォルトの名無しさん[sage]:2014/09/22(月) 00:34:37.31 ID:9pHn0j6v
return hoge,if(hoge!=this)delete this;
って書ければ楽なんですが
【初心者歓迎】C/C++室 Ver.92【環境依存OK】
721 :デフォルトの名無しさん[sage]:2014/09/22(月) 08:51:27.43 ID:9pHn0j6v
呼び出し元で呼び出すインスタンスを綺麗に入れ替えることが出来るので設計はこれでいいかなーと・・・


ローカル変数はごちゃごちゃした計算を簡単にするためだったり、入力バッファのためとか、メソッドチェーンが長くなりすぎたりした場合は仕方なく使うんですが
一目でわかるような値に別の変数付けたくないです
コード行が無駄に長くなって逆に見難いですし
【初心者歓迎】C/C++室 Ver.92【環境依存OK】
722 :デフォルトの名無しさん[sage]:2014/09/22(月) 09:06:09.05 ID:9pHn0j6v
>>718
コンストラクタでメンバ変数hogeにthisを代入して、メンバ関数ではそれを延々と返す処理があります
このhogeは、次呼び出して欲しいクラスです
メンバ関数内の任意のタイミングでhoge = new NextThisClass()ってすると、
次呼び出されるのはNextThisClassで、前のインスタンスは呼び出し元から参照が無くなるので、
返す直前に自殺しよう、という設計です

つまり
PrevThisClass::PrevThisClass():hoge(this){}
ThisClass* PrevThisClass::Update(){
if(hoge!=this)delete this;
return hoge;
}
void PrevThisClass::SetHoge(ThisClass* thisClass){
hoge =thisClass;
}
今、こんな感じなんですが、>>711の前半に記述してある問題が・・・
Eclipse統合M35【Java/C++/Ruby/Python/Scala】
167 :デフォルトの名無しさん[sage]:2014/09/22(月) 09:08:20.89 ID:9pHn0j6v
怖かったら
「ごめんなさい」
と小さく書いておけば大体許してもらえるぞ!


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。