我可以将智能指针作为函数参数传递以生成顶点数组吗

首脑

我可以将唯一指针作为函数参数而不是原始指针或数组传递吗

    unsigned int* m_VAO;
    m_VAO = (new unsigned int(totalNumberOfPies));
    glGenVertexArrays(totalNumberOfPies, m_VAO);

而不是 m_VAO 是一个原始指针,这可以是一个智能的唯一指针吗?

尼采

您可以将您定义m_VAOstd::unique_ptr<GLuint[]>当您想要传递由智能指针管理的指针时,您将使用get()检索该原始指针。

std::unique_ptr<GLuint[]> m_VAO;

m_VAO = std::make_unique<GLuint[]>(totalNumberOfPies);

glGenVertexArrays(totalNumberOfPies, m_VAO.get());

Astd::unique_ptr<GLuint[]>只有在您还为其定义自定义析构函数时才有意义,该析构函数调用相应的 OpenGL 函数。再次释放顶点数组。即便如此,这是否是正确的方法也可能值得怀疑。

此外,如果该函数将直接声明所有权,或者将其传递到声明所有权的某个地方,则您只能将智能指针传递给函数(或编写一个函数来接受智能指针)。

如果您不这样做,那么问题是为什么要为此使用智能指针而不是std::vector

std::vector<GLuint> m_VAO;

m_VAO.resize(totalNumberOfPies);

glGenVertexArrays(m_VAO.size(), m_VAO.data());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过非智能指针参数将智能指针传递给函数

来自分类Dev

将功能指针数组中的功能指针作为模板参数传递

来自分类Dev

传递模板化的智能指针类型作为模板参数

来自分类Dev

我们可以将函数作为参数传递吗

来自分类Dev

我可以将参数作为数组传递吗?

来自分类Dev

通过引用传递的智能指针可以为nullptr吗?

来自分类Dev

我可以制作一个指向智能指针的智能指针吗?

来自分类Dev

我可以对互斥对象使用智能指针吗?

来自分类Dev

为什么我更喜欢在智能指针上引用而不是在C ++中将智能指针作为参数

来自分类Dev

我可以在C ++ Actor框架中使用C ++ 11智能指针作为消息返回类型吗?

来自分类Dev

我应该将指针作为参数传递吗

来自分类Dev

将指针传递给char数组作为函数的参数-C

来自分类Java

我可以将数组作为参数传递给Java中具有可变参数的方法吗?

来自分类Dev

MATLAB Coder可以生成将指针作为输入的函数吗?

来自分类Dev

C ++如何将智能指针传递到将修改指针的输出参数中

来自分类Dev

我可以将类型作为参数传递给这个函数吗?

来自分类Dev

我可以将 props 作为函数参数传递,或者这是一种不好的做法吗?

来自分类Dev

我可以将搜索框值作为参数传递给函数吗?

来自分类Dev

我可以传递“类型”作为函数参数吗?

来自分类Dev

我可以在函数中将类作为参数传递吗?

来自分类Dev

如何将智能指针传递给需要原始指针的函数?

来自分类Dev

将容器的原始指针和智能指针传递给模板函数

来自分类Dev

将取消引用的智能指针的地址传递给需要原始指针的函数

来自分类Dev

您可以将委托函数作为可选参数传递吗?

来自分类Dev

在C语言中,为什么我可以将函数名称(而不是指针)作为参数传递给函数?

来自分类Dev

智能指针作为使用 std::function, std::bind 的函数的参数

来自分类Dev

我可以将参数传递给ES6生成器函数吗

来自分类Dev

我可以将Class类型作为过程参数传递吗

来自分类Dev

是否应该/可以通过函数中的引用传递智能指针

Related 相关文章

  1. 1

    通过非智能指针参数将智能指针传递给函数

  2. 2

    将功能指针数组中的功能指针作为模板参数传递

  3. 3

    传递模板化的智能指针类型作为模板参数

  4. 4

    我们可以将函数作为参数传递吗

  5. 5

    我可以将参数作为数组传递吗?

  6. 6

    通过引用传递的智能指针可以为nullptr吗?

  7. 7

    我可以制作一个指向智能指针的智能指针吗?

  8. 8

    我可以对互斥对象使用智能指针吗?

  9. 9

    为什么我更喜欢在智能指针上引用而不是在C ++中将智能指针作为参数

  10. 10

    我可以在C ++ Actor框架中使用C ++ 11智能指针作为消息返回类型吗?

  11. 11

    我应该将指针作为参数传递吗

  12. 12

    将指针传递给char数组作为函数的参数-C

  13. 13

    我可以将数组作为参数传递给Java中具有可变参数的方法吗?

  14. 14

    MATLAB Coder可以生成将指针作为输入的函数吗?

  15. 15

    C ++如何将智能指针传递到将修改指针的输出参数中

  16. 16

    我可以将类型作为参数传递给这个函数吗?

  17. 17

    我可以将 props 作为函数参数传递,或者这是一种不好的做法吗?

  18. 18

    我可以将搜索框值作为参数传递给函数吗?

  19. 19

    我可以传递“类型”作为函数参数吗?

  20. 20

    我可以在函数中将类作为参数传递吗?

  21. 21

    如何将智能指针传递给需要原始指针的函数?

  22. 22

    将容器的原始指针和智能指针传递给模板函数

  23. 23

    将取消引用的智能指针的地址传递给需要原始指针的函数

  24. 24

    您可以将委托函数作为可选参数传递吗?

  25. 25

    在C语言中,为什么我可以将函数名称(而不是指针)作为参数传递给函数?

  26. 26

    智能指针作为使用 std::function, std::bind 的函数的参数

  27. 27

    我可以将参数传递给ES6生成器函数吗

  28. 28

    我可以将Class类型作为过程参数传递吗

  29. 29

    是否应该/可以通过函数中的引用传递智能指针

热门标签

归档