确定跨dll边界将const引用/指针返回到std :: vectors吗?

eli6

我在一个单独的dll中具有业务逻辑,并且能够从此dll中导出一个类以供GUI类使用,有人告诉我不要在dll接口边界上传递任何std模板对象,例如std :: vector。但是,我可以将引用和指针传递给模板类型对象。

什么时候可以将对std :: vector的引用或指针(如果有区别,则填充指针)传递给业务逻辑之外/跨dll边界的代码(作为来自getter的返回值)。例:

const std::vector<int*>& getNumbers();
const std::vector<int*>* getNumbers();

我可以一直这样吗?与仅按价值传递相比,这两种选择有何含义?

还是应该完全避免传递std :: vector,在这种情况下会有什么选择?

编辑:我知道跨dll边界传递对象是有问题的,并且您必须知道使用了哪个编译器,等等。我想知道是否无论如何都返回const引用和指针可以作为一种解决方法,因为有人告诉我,是个好习惯

杰弗里

任何证明“不跨越dll接口边界传递任何std模板对象,如std :: vector”的理由都将同样适用于传递指向std :: vector的指针和引用。

当跨边界的代码取消引用指针时,它将遇到相同的问题。

所以不行。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将const引用返回给临时变量的行为与本地const引用不同吗?

来自分类Dev

将const引用返回到const引用参数

来自分类Dev

将const引用返回到const引用参数

来自分类Dev

可以跨dll使用std :: error_category吗?

来自分类Dev

将const双指针返回到const数据

来自分类Dev

我可以返回引用返回类型的指针吗?

来自分类Dev

返回const引用或引用的方法会导致内存泄漏吗?

来自分类Dev

将PHP数组返回到javascript wihout Ajax,可能吗?

来自分类Dev

C ++将非const引用为临时的:合法吗?

来自分类Dev

将const传递给接受const指针的函数是const正确的吗?

来自分类Dev

“ this ==&x”是确定指针(this)和引用(x)是否指向同一对象的正确方法吗?

来自分类Dev

“ this ==&x”是确定指针(this)和引用(x)是否指向同一对象的正确方法吗?

来自分类Dev

在Windows上,如果函数将int返回到返回BOOL的函数有关系吗?

来自分类Dev

如何将返回指针从C ++ dll函数返回到C#

来自分类Dev

将返回对象指针的函数强制转换为返回空指针的函数合法吗?

来自分类Dev

在C ++ 11中,将引用/指针返回到std :: string中某个位置的最有效方式是什么?

来自分类Dev

std :: to_string是跨平台的吗?

来自分类Dev

我可以通过Ajax请求将MVC控制器中的javascript返回到View吗?

来自分类Dev

我在使用jquery将数据从localStorage返回到表单进行更新时遇到问题吗?

来自分类Dev

我在使用jquery将数据从localStorage返回到表单进行更新时遇到问题吗?

来自分类Dev

在C#中使用转换后的指针值的引用返回可以吗?

来自分类Dev

指针解引用线程安全吗?

来自分类Dev

引用传递也可以称为指针传递吗?

来自分类Dev

可以取消引用该指针吗?

来自分类Dev

可以使用右值初始化 const std::array 成员引用吗?

来自分类Dev

std :: uncaught_exception无法跨DLL边界工作

来自分类Dev

将指针从库返回到应用

来自分类Dev

从C#调用C dll中的函数,该函数将某种类型的指针返回到函数指针

来自分类Dev

我可以从引用传递的参数返回值中声明const int吗?

Related 相关文章

  1. 1

    将const引用返回给临时变量的行为与本地const引用不同吗?

  2. 2

    将const引用返回到const引用参数

  3. 3

    将const引用返回到const引用参数

  4. 4

    可以跨dll使用std :: error_category吗?

  5. 5

    将const双指针返回到const数据

  6. 6

    我可以返回引用返回类型的指针吗?

  7. 7

    返回const引用或引用的方法会导致内存泄漏吗?

  8. 8

    将PHP数组返回到javascript wihout Ajax,可能吗?

  9. 9

    C ++将非const引用为临时的:合法吗?

  10. 10

    将const传递给接受const指针的函数是const正确的吗?

  11. 11

    “ this ==&x”是确定指针(this)和引用(x)是否指向同一对象的正确方法吗?

  12. 12

    “ this ==&x”是确定指针(this)和引用(x)是否指向同一对象的正确方法吗?

  13. 13

    在Windows上,如果函数将int返回到返回BOOL的函数有关系吗?

  14. 14

    如何将返回指针从C ++ dll函数返回到C#

  15. 15

    将返回对象指针的函数强制转换为返回空指针的函数合法吗?

  16. 16

    在C ++ 11中,将引用/指针返回到std :: string中某个位置的最有效方式是什么?

  17. 17

    std :: to_string是跨平台的吗?

  18. 18

    我可以通过Ajax请求将MVC控制器中的javascript返回到View吗?

  19. 19

    我在使用jquery将数据从localStorage返回到表单进行更新时遇到问题吗?

  20. 20

    我在使用jquery将数据从localStorage返回到表单进行更新时遇到问题吗?

  21. 21

    在C#中使用转换后的指针值的引用返回可以吗?

  22. 22

    指针解引用线程安全吗?

  23. 23

    引用传递也可以称为指针传递吗?

  24. 24

    可以取消引用该指针吗?

  25. 25

    可以使用右值初始化 const std::array 成员引用吗?

  26. 26

    std :: uncaught_exception无法跨DLL边界工作

  27. 27

    将指针从库返回到应用

  28. 28

    从C#调用C dll中的函数,该函数将某种类型的指针返回到函数指针

  29. 29

    我可以从引用传递的参数返回值中声明const int吗?

热门标签

归档