私は c++ が初めてで、グローバル変数に 1 つの質問があります。多くの例で、グローバル変数はヒープのアドレスを持つポインターであることがわかります。つまり、ポインターはグローバル/静的変数のメモリ内にあり、アドレスの背後にあるデータはヒープ上にありますよね?
この代わりに、データを格納するグローバル (ポインターなし) 変数を宣言できます。したがって、データはヒープではなく、グローバル/静的変数のメモリに格納されます。
このソリューションは、ポインターとヒープを使用した最初のソリューションよりも不利ですか?
編集:
最初の解決策:
//global
Sport *sport;
//somewhere
sport = new Sport;
2番目の解決策:
//global
Sport sport;