为什么或为什么不在C ++中使用memset?

基里洛夫

我在必须维护的程序中有很多记忆集。在现代C ++中使用memset是否是一种好习惯?

为什么和为什么不呢?

如果不是,应该首选什么memset?

尼尔·柯克

90%的时间应该使用std::fill而不是memset。这是因为std::fill它将与类一起正常使用,并且在将非字节类型的数组设置为非零值时也将起作用。例如,您可以将一个整数数组设置为0,但不能将一个整数数组设置为0x12345678。std::fill你可以的。

好的编译器可以std::fill在适当的情况下优化为内存集。如果情况并非如此,那么任何性能影响都可以忽略不计。

使用std::fill更快的记忆集并不危险。std::fill使用的地方使用memset是危险的。默认为std::fill

同上,用于memcpystd::copy

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么或为什么使用`。*?`比`。*`更好?

来自分类Dev

为什么不在 C 中为 FIZZBUZZ 使用 while 循环?

来自分类Dev

为什么在使用CUDA时使用memset?

来自分类Dev

为什么要在memset上使用bzero?

来自分类Dev

为什么对memset使用'\ 0'而不是0?

来自分类Dev

为什么我们在socket编程c中使用memset来填充值为0的结构?

来自分类Dev

为什么要使用双重间接?或为什么使用指向指针的指针?

来自分类Dev

为什么或为什么不使用instanceof检查不为null

来自分类Dev

为什么或为什么不使用 RequestVote RPC 作为 Raft 实现中的心跳?

来自分类Dev

为什么不在复合命令中使用别名?

来自分类Dev

为什么不在python的函数中使用变量值

来自分类Dev

为什么“断言失败:>!不在(go ...)块中使用”

来自分类Java

为什么不在Jdbc中使用java.util.Date?

来自分类Dev

为什么不在Protractor中使用executeScript创建对象

来自分类PHP

为什么不在php laravel lazyCollection中使用Function参数

来自分类Java

为什么不在Java中使用带锁的try?

来自分类Dev

为什么不在 Fortran 中使用 DO WHILE

来自分类Dev

为什么不在PayPal API中使用“ platform_fees”?

来自分类Dev

人们为什么不在Xamarin中使用对象池?

来自分类Dev

为什么不在configdb中使用仲裁器?

来自分类Dev

为什么不在Swift中使用可选选项?

来自分类Dev

CakePHP 3:为什么不在模型中使用Session

来自分类Dev

为什么 MySQL 不在此查询中使用我的索引?

来自分类Dev

为什么最终在C#中使用?

来自分类Dev

为什么在C中使用指针?

来自分类Dev

为什么在C中使用memcpy()

来自分类Dev

什么时候或为什么通常应使用状态检查功能?

来自分类Dev

使用std名称空间,为什么(或为什么不)我应该在std ::前面加上前缀?

来自分类Dev

为什么我们在硒的窗口句柄中使用set而不在列表中使用?

Related 相关文章

  1. 1

    为什么或为什么使用`。*?`比`。*`更好?

  2. 2

    为什么不在 C 中为 FIZZBUZZ 使用 while 循环?

  3. 3

    为什么在使用CUDA时使用memset?

  4. 4

    为什么要在memset上使用bzero?

  5. 5

    为什么对memset使用'\ 0'而不是0?

  6. 6

    为什么我们在socket编程c中使用memset来填充值为0的结构?

  7. 7

    为什么要使用双重间接?或为什么使用指向指针的指针?

  8. 8

    为什么或为什么不使用instanceof检查不为null

  9. 9

    为什么或为什么不使用 RequestVote RPC 作为 Raft 实现中的心跳?

  10. 10

    为什么不在复合命令中使用别名?

  11. 11

    为什么不在python的函数中使用变量值

  12. 12

    为什么“断言失败:>!不在(go ...)块中使用”

  13. 13

    为什么不在Jdbc中使用java.util.Date?

  14. 14

    为什么不在Protractor中使用executeScript创建对象

  15. 15

    为什么不在php laravel lazyCollection中使用Function参数

  16. 16

    为什么不在Java中使用带锁的try?

  17. 17

    为什么不在 Fortran 中使用 DO WHILE

  18. 18

    为什么不在PayPal API中使用“ platform_fees”?

  19. 19

    人们为什么不在Xamarin中使用对象池?

  20. 20

    为什么不在configdb中使用仲裁器?

  21. 21

    为什么不在Swift中使用可选选项?

  22. 22

    CakePHP 3:为什么不在模型中使用Session

  23. 23

    为什么 MySQL 不在此查询中使用我的索引?

  24. 24

    为什么最终在C#中使用?

  25. 25

    为什么在C中使用指针?

  26. 26

    为什么在C中使用memcpy()

  27. 27

    什么时候或为什么通常应使用状态检查功能?

  28. 28

    使用std名称空间,为什么(或为什么不)我应该在std ::前面加上前缀?

  29. 29

    为什么我们在硒的窗口句柄中使用set而不在列表中使用?

热门标签

归档