1

私は ofApp.cpp (別名 testApp.cpp) のこの実装から行きました:

#include "ofApp.h"

const ofColor bgColor(33, 33, 33);

void ofApp::setup() {
  ofBackground(bgColor);
}

これに対して、ofApp.h (別名 testApp.h) で:

#pragma once
#include "ofMain.h"

class ofApp : public ofBaseApp {

  public:
    ofApp() : bgColor(ofColor(33, 33, 33)) {};
    void setup();
    // ...
    void gotMessage(ofMessage msg);

    private:
    const ofColor bgColor;

};

のグローバル宣言をbgColorofApp.cpp から ofApp.h に移動し、初期化リストを持つコンストラクターを initialize に追加しただけbgColorです。

後者はそのようなことをする「正しい方法」ですか?(C++ の慣例と、ofApp.cpp.

testApp.cpp の先頭でグローバルを宣言するのではなく、 ofApp.h でメンバーを宣言して初期化リストを使用する方が「良い」でしょうか?

4

1 に答える 1

0

要するに後者が「正しい道」です。OF フォーラムでの議論はこちらです。

于 2012-05-04T12:39:23.773 に答える