[過去ログ] 【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
824(2): デフォルトの名無しさん [sage] 2017/07/04(火) 10:10:55.61 ID:A8K7ipT2(1) AAS
>>823823(2): デフォルトの名無しさん [] 2017/07/04(火) 09:38:28.01 ID:GKwjzP9N(1/2) AAS
class A {}
int main{
A a; //c++
A a = new A(); //c#
}
このc++の「A a;」は、c#の「A a = new A();」と同じ意味ということでいいんですか?
同じになるねぇ
あえて違う点を挙げるとすればAが作成される領域がスタックかヒープか
でも意識するほどのことじゃない
825: デフォルトの名無しさん [] 2017/07/04(火) 10:53:00.81 ID:GKwjzP9N(2/2) AAS
>>824
スッキリしました。ありがとうございます。
826: デフォルトの名無しさん [sage] 2017/07/04(火) 12:24:06.77 ID:rriFyG5E(1) AAS
いやC++やるならスタックかヒープかは意識しなきゃだめだろ
deleteどうすんの
827: デフォルトの名無しさん [sage] 2017/07/04(火) 12:53:41.35 ID:Tv7aUxog(1) AAS
>>824
> Aが作成される領域がスタックかヒープか
いや、それは意識しろよ
828: デフォルトの名無しさん [sage] 2017/07/04(火) 16:07:16.69 ID:BdJEhj1W(1) AAS
ヒープはC#の方だろ、とりあえず意識しないでも
829(1): デフォルトの名無しさん [sage] 2017/07/04(火) 17:16:06.09 ID:RU97axJ4(1) AAS
C#はdelete書かないんだからC++なら
deleteが不要な「A a;」を同等と捉えるのが筋
配置場所なんかどうでもええ
830: デフォルトの名無しさん [sage] 2017/07/04(火) 18:37:27.41 ID:eP5xPbfu(1) AAS
newだとスコープ抜けても残るんじゃ?
831: デフォルトの名無しさん [sage] 2017/07/04(火) 18:44:00.48 ID:xAcMjOR1(1) AAS
C#だとスマポみたいになるんかね
832: デフォルトの名無しさん [sage] 2017/07/04(火) 19:56:18.89 ID:3bDdeHlE(1) AAS
c#はGC管理、classは参照型
833: デフォルトの名無しさん [sage] 2017/07/04(火) 20:17:33.06 ID:olJiM2Cb(1/5) AAS
>>829
寿命が全然違うじゃないですかぁ
834: デフォルトの名無しさん [sage] 2017/07/04(火) 20:31:05.28 ID:L7t36fm1(1) AAS
コストも
835: デフォルトの名無しさん [sage] 2017/07/04(火) 21:02:27.05 ID:V6j6UQbw(1) AAS
で?
836: デフォルトの名無しさん [sage] 2017/07/04(火) 21:52:57.05 ID:+pBAjacr(1) AAS
すげえ考え方の奴が出てきてワロッシュ
837(1): デフォルトの名無しさん [sage] 2017/07/04(火) 22:13:30.60 ID:kiqPrlXB(1/3) AAS
寿命だのコストだの言うけど
そんな実相依存どうやって見積もるの?
無意味な揚げ足取りはやめたら?
838: デフォルトの名無しさん [sage] 2017/07/04(火) 22:14:59.82 ID:VwPftttd(1/3) AAS
え?
839: デフォルトの名無しさん [sage] 2017/07/04(火) 22:17:16.01 ID:TrkY+sIz(1/2) AAS
C++ 側は実装依存な部分あるっけ? C#側はよーわからんけど
840: デフォルトの名無しさん [sage] 2017/07/04(火) 22:19:25.34 ID:dCdz+uzl(1) AAS
こっちはC++スレだぞ?C++でスタックとヒープのコストや寿命の違いを意識する必要がないってマジでいってるのかよ
841: デフォルトの名無しさん [sage] 2017/07/04(火) 22:29:39.22 ID:kiqPrlXB(2/3) AAS
newの方はC#のって前置きがあるだろうが
よく読め
まあ元々の質問もあれだが
842(2): デフォルトの名無しさん [sage] 2017/07/04(火) 22:42:25.19 ID:IS9gvNe4(1) AAS
コストは
c++のnew>>(超えられない壁)>>c#のnew>スタック
全然違うというほどでもないし
843: デフォルトの名無しさん [sage] 2017/07/04(火) 23:02:36.26 ID:olJiM2Cb(2/5) AAS
コストは置いておいたとしても寿命はどうするんだよ
平たく言うと
「マニュアル車の1速は、オートマ車のDと同じ意味ですか?」
って質問だぞ
それに対して
「オートマ車はDで発進するからマニュアル車なら1速と同等ととらえるのが筋
速度が出た後のことなんかどうでもええ」
ってのはなんか違うだろ
メモリ管理に関してはC++はマニュアルでC#はオートなんだから
こういうたとえになるんだよ
844: デフォルトの名無しさん [sage] 2017/07/04(火) 23:10:09.31 ID:VgVQ93XC(1) AAS
>>837
おまいさん資格持ちじゃないよな?な?な?
845(1): デフォルトの名無しさん [sage] 2017/07/04(火) 23:15:08.21 ID:olJiM2Cb(3/5) AAS
あと、C#はJavaと違って構造体が使えてこれは値型になれるから
スタックに確保できる
なんで、C++の A a; はどちらかというと、そちらに該当するんだよ
で、C#のA a = new A(); はというと
delete が必要という一点を除けば C++ の A *a = new A();に相当するんだよ
こんなこと当たり前だろ
846: デフォルトの名無しさん [sage] 2017/07/04(火) 23:23:27.06 ID:9HpxJyun(1) AAS
>>845
実装と目的を一緒にすんなよタコ
単に「Aのインスタンス生成するコード書いてみ」
といわれたら>>823になるだろjk
意味が同じってのはそういうこった
847: デフォルトの名無しさん [sage] 2017/07/04(火) 23:33:11.25 ID:AVhuZxl1(1/4) AAS
>>842
えっ???
そんな馬鹿な
848: デフォルトの名無しさん [sage] 2017/07/04(火) 23:38:27.02 ID:olJiM2Cb(4/5) AAS
>単に「Aのインスタンス生成するコード書いてみ」
ってのはお前が勝手に言ってることだろ
元は
>このc++の「A a;」は、c#の「A a = new A();」と同じ意味ということでいいんですか?
だ
上下前次1-新書関写板覧索設栞歴
あと 154 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s