我从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;

};


我只是将bgColor的全局声明从ofApp.cpp中移出到了OfApp.h中,并添加了带有初始化列表的构造函数以初始化bgColor

后者是做这种事情的“正确方法”吗? (我很难在C ++实践和在OfApp.cpp的顶部声明全局变量的“ OF风格”之间接受界限。

在ofApp.h中声明成员并使用初始化列表,而不是在testApp.cpp的顶部声明全局变量,是否“更好”?

最佳答案

简而言之,后者是“正确的方法”。关于OF论坛is here的讨论。

关于c++ - OpenFrameworks testApp具有ofColor成员的“正确方法”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10396714/

10-11 09:33