C++でゲームプログラミングしているんだけど質問がある!

1 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:09:42.864 ID:ie+yrqr+0
newってどういう場面で使うの?
2 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:10:20.063 ID:tMvrXOI0a
新しいインスタンスをヒープに作りたいとき
3 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:10:52.535 ID:39xDHkDH0
わかる
ユニークポインタで良くね
4 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:11:39.064 ID:Iiozp4aX0
インスタンスを生成するとき
5 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:14:04.878 ID:ie+yrqr+0
class neko{}
ってのがあったとして

neko nekoneko;

じゃだめなの?

6 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:14:54.991 ID:tMvrXOI0a
それじゃインスタンスがスタックに作られるから現在のネストを抜けたら消えるだろ
7 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:16:45.781 ID:ie+yrqr+0
>>6
現在のネストを抜けても残したい場合に使うって事?
例えば、一度クラスから抜けて
他のクラスを宣言した時にまた使いたい時などに使うって事?
8 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:17:48.700 ID:tMvrXOI0a
>>7
そう
9 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:18:30.250 ID:ie+yrqr+0
>>8
具体的にどういう時に使うの?
12 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:25:18.236 ID:tMvrXOI0a
>>9
だからネストをまたいでインスタンスを残したい時
グローバル変数とローカル変数みたいなもんだよ
14 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:26:24.788 ID:ie+yrqr+0
>>12
具体的にどういう処理の時に使うの?
実装例みたいな
10 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:19:52.572 ID:hM7y/b8S0
スタティックおじさんかな?
11 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:23:09.933 ID:ie+yrqr+0
>>10
うん。基本全部スタティックで作ってる
必要な分全部初めに宣言して
クラス間は上のクラスから引数で直接渡してる
13 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:25:52.392 ID:ie+yrqr+0
class data{}
class neko{}

data datadata;
neko nekoneko(detadata);

みたいな感じにしてると思うたぶん

15 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:27:23.321 ID:ie+yrqr+0
実装例っていうか具体的にどういう時に使うのか知りたい
16 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:28:56.335 ID:L5UNIv7p0
メモリが無限にあるならnewしなくていいよ
18 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:29:58.329 ID:ie+yrqr+0
>>16
最初に全部宣言して、それを使えばいいんじゃないの?駄目なの?
17 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:29:03.785 ID:ie+yrqr+0
グローバル変数も全部一番上でクラスにして
引数で渡してしまえば使う必要はないじゃん?
でも具体的にどういう場面で使うのかなと
const化して定数にするとか?
19 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:31:10.531 ID:Iiozp4aX0
別に使わなくていいよ
20 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:31:42.283 ID:ie+yrqr+0
>>19
全部スタティックでもいいの?
21 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:32:11.637 ID:ie+yrqr+0
こういう時には使った方が良いよとかあれば知りたい
22 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:33:49.408 ID:Iiozp4aX0
メソッドだかメンバ関数だかよく知らんけど全部staticでいいなら使う必要はないよ
23 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:33:50.530 ID:39xDHkDH0
派生クラス使うときnew使うだろ
25 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:34:34.577 ID:ie+yrqr+0
>>23
派生クラスを作った事がないんだけど・・・やばい?
24 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:33:52.201 ID:ie+yrqr+0
というか日ごろから積極的に使ったりしているの?
26 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:34:47.989 ID:qGbyiGAS0
つかわない
28 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:35:59.908 ID:ie+yrqr+0
>>26
使わなくても問題ない?
27 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:35:33.715 ID:ie+yrqr+0
派生クラスを勉強するとnewを使い始めると言う事?
29 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:40:39.865 ID:01OkFk1S0
ゲームエンジン作ってるわけでもなく
まだnewの使い時が分からないレベルなら
大人しくUnity×C#にしといた方がいいぞ

まあ正直new使うことほぼ無いと思うが

31 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:42:42.101 ID:39xDHkDH0
ミス
AA=new A(1);
32 名前:ひみつの名無しさん 投稿日時:2020/05/01(金) 06:43:04.878 ID:ie+yrqr+0
正直最近なんで1から作っているんだろうと疑問は感じている・・・

コメント

タイトルとURLをコピーしました