参照またはポインターによってベクトルを正しく渡す

モノモ

私は(基本的に)std :: vector(そのD3D10レンダリング)のSetterメソッドを作成しようとしています

void GraphicsClass::BeginFrame(vector<LightClass> const &vlights)
{
    lights = vlights;

ここで、lightsはGraphicsClassのプライベートメンバーであり、宣言は次のとおりです。

vector<LightClass> lights;

これで、配列のプロパティがコピーされます。しかし、要素lights[0], lights[1]などにはゴミが含まれています。VisualStudioデバッガーを使用してこれを確認しました。

私は明らかに使用することで回避できました

void GraphicsClass::BeginFrame(vector<LightClass> const &vlights) {
    int size = vlights.size();
    int i;
    lights.resize(size);
    for (i = 0; i < size; i++)
       lights[i] = vlights[i];

しかし、私はこのトピックを理解していないのが好きではなく、このコードは少し遅いようです。

回答ありがとうございます!

要求に応じたLightClass:

class LightClass
{
public:
LightClass(void);
~LightClass(void);
void SetDiffuseColor(float, float, float, float);
void SetDirection(float, float, float);

D3DXVECTOR4 GetDiffuseColor();
D3DXVECTOR3 GetDirection();

 private:
D3DXVECTOR4 m_diffuseColor;
D3DXVECTOR3 m_direction;
};

コンストラクタとデストラクタの両方が空であるため、これは間違いです(Type * thingのようにポインタを作成するだけのクラスからこれをコピーしました。OOPは初めてです)

私はおそらくベクトルをベクトルに変更します。

MooseBoys

(回避策のように)LightClassだけでなく、のコピーコンストラクターを実装する必要がありoperator=ます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

参照またはポインタでベクトルを渡す

分類Dev

特定のタイプのベクトルが予想される場合に、参照によってvoidポインターのベクトルを渡す

分類Dev

ポインターのベクトル上のループに基づくC ++範囲。const参照によって要素をキャプチャする方法は?

分類Dev

参照によって渡されたベクトルを初期化します

分類Dev

参照によってポインタを渡すときにエラーが発生しました

分類Dev

<a>のクリックイベントによって開かれたタブへの参照を取得します

分類Dev

参照によってベクトルを渡しますが、変更はc ++に固執しません

分類Dev

関数内のベクトルのサイズを導出するにはどうすればよいですか?(ベクトルは最初の要素へのポインターによって渡されます)

分類Dev

参照によってポインタを渡すと、プログラムがクラッシュします

分類Dev

参照によってポインタを渡そうとすると、このエラーが発生します

分類Dev

tinymceエディターによって発生したイベントはAngularコンポーネントをすぐには更新しません

分類Dev

参照によって渡されたベクトルを使用した末尾再帰

分類Dev

逆参照されたポインターを(つまり、値によって)ポインターを期待する関数に渡す

分類Dev

Delphiで参照によって渡されるポインタ(DLLから関数をインポートする)

分類Dev

int *&を使用して参照によってポインタを渡すと、奇妙な問題が発生します

分類Dev

バイナリツリーで使用するために参照によって渡されたベクトルを実装しようとしていますが、何が欠けていますか?

分類Dev

参照によって渡されるスマートポインタをnullptrにすることはできますか?

分類Dev

クラスプロトタイプまたは酵素ラッパーインスタンスを介してreactコンポーネントのメソッドを正しくスパイするにはどうすればよいですか?

分類Dev

値またはC ++での参照によって関数に渡されるベクトルです

分類Dev

関数への参照によってポインタを渡す

分類Dev

C ++はオブジェクトを参照によって関数に渡し、そのコンストラクターが呼び出されます

分類Dev

参照渡し(オブジェクトへのポインターのベクトル)は、値渡しよりも高速ですか?

分類Dev

リストパラメータを正しく渡すにはどうすればよいですか?このようにして、インタープリターは予期されたタイプのエラーを表示します

分類Dev

Angular 1.5のコンポーネントルーターによって取り込まれたng-outletコンポーネントに特定のバインディングを渡すにはどうすればよいですか?

分類Dev

ポインターまたは参照を使用してベクトルにアクセスし、それを反復処理することはキャッシュに適していませんか?

分類Dev

ポインタ、キャスト、逆参照を介してベクトルをロードしますか?

分類Dev

参照によって整数クラスを正しく渡すにはどうすればよいですか?

分類Dev

参照によってベクトルを渡し、範囲ベースのforループでその値を変更しますか?

分類Dev

dlsymによって返されたポインターを関数ポインター型の変数に正しく割り当てる方法は?

Related 関連記事

  1. 1

    参照またはポインタでベクトルを渡す

  2. 2

    特定のタイプのベクトルが予想される場合に、参照によってvoidポインターのベクトルを渡す

  3. 3

    ポインターのベクトル上のループに基づくC ++範囲。const参照によって要素をキャプチャする方法は?

  4. 4

    参照によって渡されたベクトルを初期化します

  5. 5

    参照によってポインタを渡すときにエラーが発生しました

  6. 6

    <a>のクリックイベントによって開かれたタブへの参照を取得します

  7. 7

    参照によってベクトルを渡しますが、変更はc ++に固執しません

  8. 8

    関数内のベクトルのサイズを導出するにはどうすればよいですか?(ベクトルは最初の要素へのポインターによって渡されます)

  9. 9

    参照によってポインタを渡すと、プログラムがクラッシュします

  10. 10

    参照によってポインタを渡そうとすると、このエラーが発生します

  11. 11

    tinymceエディターによって発生したイベントはAngularコンポーネントをすぐには更新しません

  12. 12

    参照によって渡されたベクトルを使用した末尾再帰

  13. 13

    逆参照されたポインターを(つまり、値によって)ポインターを期待する関数に渡す

  14. 14

    Delphiで参照によって渡されるポインタ(DLLから関数をインポートする)

  15. 15

    int *&を使用して参照によってポインタを渡すと、奇妙な問題が発生します

  16. 16

    バイナリツリーで使用するために参照によって渡されたベクトルを実装しようとしていますが、何が欠けていますか?

  17. 17

    参照によって渡されるスマートポインタをnullptrにすることはできますか?

  18. 18

    クラスプロトタイプまたは酵素ラッパーインスタンスを介してreactコンポーネントのメソッドを正しくスパイするにはどうすればよいですか?

  19. 19

    値またはC ++での参照によって関数に渡されるベクトルです

  20. 20

    関数への参照によってポインタを渡す

  21. 21

    C ++はオブジェクトを参照によって関数に渡し、そのコンストラクターが呼び出されます

  22. 22

    参照渡し(オブジェクトへのポインターのベクトル)は、値渡しよりも高速ですか?

  23. 23

    リストパラメータを正しく渡すにはどうすればよいですか?このようにして、インタープリターは予期されたタイプのエラーを表示します

  24. 24

    Angular 1.5のコンポーネントルーターによって取り込まれたng-outletコンポーネントに特定のバインディングを渡すにはどうすればよいですか?

  25. 25

    ポインターまたは参照を使用してベクトルにアクセスし、それを反復処理することはキャッシュに適していませんか?

  26. 26

    ポインタ、キャスト、逆参照を介してベクトルをロードしますか?

  27. 27

    参照によって整数クラスを正しく渡すにはどうすればよいですか?

  28. 28

    参照によってベクトルを渡し、範囲ベースのforループでその値を変更しますか?

  29. 29

    dlsymによって返されたポインターを関数ポインター型の変数に正しく割り当てる方法は?

ホットタグ

アーカイブ