字符串 str1 = str 有什么区别;和字符串 str2((string &)str1);

约翰贾卡尔

我基本上想知道后者是否更有效/优化,因为它没有创建 string 的副本?

我想使用像 string str(str1,3,5) 这样的构造函数来创建一个字符串;

利萨鲁斯

我想使用像 string str(str1,3,5) 这样的构造函数来创建一个字符串;

如果我们在这里查看相应的std::string构造函数,我们会看到它有签名

basic_string( const basic_string& other, 
          size_type pos, 
          size_type count,
          const Allocator& alloc = Allocator() );

请注意const basic_string& other部分:字符串通过常量引用传递,不涉及临时副本。因此,std::string str(str1, 3, 5)尽可能高效,而这样做std::string str((std::string &)str1, 3, 5)只会混淆代码:它包含一个(通常被认为是坏的)C 风格的强制转换,它假装引用是非常量的,并且它为读者增加了认知工作而没有获得任何事物。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

给定两个字符串str1和str2作为输入,请删除str1中出现在str2中的所有字符

来自分类Dev

如何定义一个字符串,如:sss" + str1 + "ddd

来自分类Dev

为什么用NSString * str1 = [[NSString alloc] init]分配两个字符串?有相同的地址?

来自分类Dev

为什么$ str1不包含$ str2?(PHP strpos)

来自分类Dev

PERL PROBLmy $str1 = 0 除非定义了 $str1;

来自分类Dev

是将char str1 [] = {'s','t','r','i','n','g','\ 0'}从常量存储段复制到堆栈,就像char str2 [] =“串”?

来自分类Dev

如果可以重新排列 str1 字符的一部分以匹配 str2,则返回 true 的最快函数,否则返回 false

来自分类Dev

如何将$ {STR1}和$ STR2(而不是它们的内容)打印到文件中?

来自分类Dev

如果 olMail.Body = str1 + str2,则更改 olMail.Body 字体名称和字体大小

来自分类Dev

如何提高C ++ 14中“ str1 + str2 + str3 + ...”的效率?

来自分类Dev

使用(str1 + str2).c_str()是否安全?

来自分类Dev

即使 str1 不等于 str2,expect(str1).to.equal(str2) 也会通过

来自分类Dev

我如何修改strcat以便不编辑str1

来自分类Dev

字符串str和字符串str = null之间的区别

来自分类Dev

C ++字符串中的cin >> str + 1是什么?

来自分类Dev

<function>(str1,str2)分别调用它们

来自分类Dev

流内容和字符串`str()`之间的区别返回?

来自分类Dev

为什么JS中+ str比str * 1更好,可以将字符串转换为数字?

来自分类Dev

&str字符串和生命周期

来自分类Dev

&str字符串和生命周期

来自分类Dev

使用 str_detect 和 regex 匹配字符串

来自分类Dev

带有重叠子字符串的str_count

来自分类Dev

Matlab字符串加倍(str2double)

来自分类Dev

当字符串有 26 个字符时,为什么 sizeof(str) 8?

来自分类Dev

c_str ==字符串与c_str == c_str的值相等

来自分类Dev

在str是字符串的情况下使用str [i]-'0'的目的是什么?

来自分类Dev

在str是字符串的情况下使用str [i]-'0'的目的是什么?

来自分类Dev

TypeError:file()参数1必须是不带NULL字节的编码字符串,而不是str odoo

来自分类Dev

__str__参数不足,无法用于格式字符串

Related 相关文章

  1. 1

    给定两个字符串str1和str2作为输入,请删除str1中出现在str2中的所有字符

  2. 2

    如何定义一个字符串,如:sss" + str1 + "ddd

  3. 3

    为什么用NSString * str1 = [[NSString alloc] init]分配两个字符串?有相同的地址?

  4. 4

    为什么$ str1不包含$ str2?(PHP strpos)

  5. 5

    PERL PROBLmy $str1 = 0 除非定义了 $str1;

  6. 6

    是将char str1 [] = {'s','t','r','i','n','g','\ 0'}从常量存储段复制到堆栈,就像char str2 [] =“串”?

  7. 7

    如果可以重新排列 str1 字符的一部分以匹配 str2,则返回 true 的最快函数,否则返回 false

  8. 8

    如何将$ {STR1}和$ STR2(而不是它们的内容)打印到文件中?

  9. 9

    如果 olMail.Body = str1 + str2,则更改 olMail.Body 字体名称和字体大小

  10. 10

    如何提高C ++ 14中“ str1 + str2 + str3 + ...”的效率?

  11. 11

    使用(str1 + str2).c_str()是否安全?

  12. 12

    即使 str1 不等于 str2,expect(str1).to.equal(str2) 也会通过

  13. 13

    我如何修改strcat以便不编辑str1

  14. 14

    字符串str和字符串str = null之间的区别

  15. 15

    C ++字符串中的cin >> str + 1是什么?

  16. 16

    <function>(str1,str2)分别调用它们

  17. 17

    流内容和字符串`str()`之间的区别返回?

  18. 18

    为什么JS中+ str比str * 1更好,可以将字符串转换为数字?

  19. 19

    &str字符串和生命周期

  20. 20

    &str字符串和生命周期

  21. 21

    使用 str_detect 和 regex 匹配字符串

  22. 22

    带有重叠子字符串的str_count

  23. 23

    Matlab字符串加倍(str2double)

  24. 24

    当字符串有 26 个字符时,为什么 sizeof(str) 8?

  25. 25

    c_str ==字符串与c_str == c_str的值相等

  26. 26

    在str是字符串的情况下使用str [i]-'0'的目的是什么?

  27. 27

    在str是字符串的情况下使用str [i]-'0'的目的是什么?

  28. 28

    TypeError:file()参数1必须是不带NULL字节的编码字符串,而不是str odoo

  29. 29

    __str__参数不足,无法用于格式字符串

热门标签

归档