gpt4 book ai didi

c++ - 函数返回值的引用

转载 作者:行者123 更新时间:2023-11-30 04:18:22 25 4
gpt4 key购买 nike

假设我有这样的东西

  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?或者如何从我的 getter 方法中获取 handle_ 的引用?

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

最佳答案

如果你想保持handle_完全封装,传递一个局部变量给glGenBuffers:

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

关于c++ - 函数返回值的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16462006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com