簡體   English   中英

函數返回值的引用

[英]Reference of a function return value

假設我有這樣的東西

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

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

        virtual ~HandleInterface() {}
};

現在,我需要引用handle_。

// I would need &handle_
glGenBuffers( 1,&handle_ );

我是否需要為handle_編寫另一個吸氣劑? 或者如何從我的getter方法中獲取handle_的引用?

而且glGenBuffers某種程度上違反了我的SetHandle方法,因為它只能通過SetHandle方法而不是引用來設置handle_ 有什么想法可以避免這種情況嗎?

如果要保持handle_完全封裝, glGenBuffers局部變量傳遞給glGenBuffers

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM