Player_Spriteというクラスがあります。私はこのように世界的にそのインスタンスを宣言している:私が試したC++グローバルオブジェクトの値を失う
Header:
shared_ptr <Player_Sprite> MainPlayer;
CPP:
shared_ptr <Player_Sprite> MainPlayer = make_shared<Player_Sprite>();
:私は気づいた
Player_Sprite player = (*MainPlayer);
//Do more here
私は、以前のプレーヤーで設定した値を失うことになります。
Player.SetState(Moving); //Example
プレイヤーは状態を失いますが、まだ停止しています。
しかし、私はPlayer_Spriteのこのインスタンスを参照して、それをコピーせずに私の値がどこに行くのか疑問に思うままにしています。
オムを書くことができるようにあなたは、より多くの何かの標準にあなたのケースの規則を変更することができればさらに良いでしょうか?構造体メンバへのポインタアクセス演算子 ' - > 'は何もコピーしません。実際の問題を詳しく教えていただけますか?好ましくは[最小限の、完全で検証可能な例](http://stackoverflow.com/help/mcve)。おそらく、あなたも同様にプログラムをデバッグする必要がありますか?次に、Eric Lippertによる[小さなプログラムのデバッグ方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を読んでみてください。 –