C++ 函数返回值的引用

C++ 函数返回值的引用,c++,C++,假设我有这样的东西 class HandleInterface { GLuint handle_; protected: void SetHandle( GLuint i ) { handle_ = i; } public: GLuint GetHandle() const { return handle_; } virtual

假设我有这样的东西

  class HandleInterface {
        GLuint handle_;
    protected:
        void SetHandle( GLuint i ) {
            handle_ = i;
        }

    public:
        GLuint GetHandle() const {
            return handle_;
        }

        virtual ~HandleInterface() {}
};
但是现在我需要句柄的引用

// I would need &handle_
glGenBuffers( 1,&handle_ );
我是否需要为我的
句柄
编写另一个getter?或者如何从我的getter方法中获取
handle\uu
的引用


另外,
glGenBuffers
以某种方式违反了我的
SetHandle
方法,因为它应该只通过
SetHandle
方法而不是通过引用来设置
handle。有什么办法可以避免这种情况吗?

如果您想保持
句柄
完全封装,请将一个局部变量传递给
glGenBuffers

GLuint handle;
glGenBuffers(1, &handle);
SetHandle(handle);

你有什么真正的理由使用getter和setter吗?是否有(或将有)一些不变量需要维护?现在看起来不像。不,我只是认为getter和setter是很好的练习,但目前我相信在这里使用getter和setter可能不是最好的主意