如果我为当前不使用的字符串位置分配一个值,会发生什么情况?

灯罩

我几乎从不使用c ++字符串类型,但我需要使用一组字符串,因此我认为它们是最好的选择。

我这样编码:

string a;
a[0] = 'b';
printf("%s", a.c_str());

然后印上字母“ b”

但是当我尝试:

string a;
// i bellow would be a number from 0 to 9, so I add 48 to get the correspondent char
a[0] = 48 + i; 
printf("%s", a.c_str());

它没有打印一位数字...

我的问题是:是否仅由于幸运的未定义行为而在第一种情况下正确打印了“ b”?

我之所以这样问是因为,如果我在位置0上已经有东西,那么分配a [0] = 48 + i; 可以正确打印该号码。

特兰克

字符串是一个动态数组,因此您无法调用内存的未定义部分。调用
string a; a[0] = 'b'; printf("%s", a.c_str());
非常危险,因为您已经访问了内存的其他部分并覆盖了它。我想您的程序将在程序的其他部分引发错误。看看你做了什么:
string a; a[0] = 'b'; printf("%d ", a.size());输出当然是0

您必须先保留内存,例如:a.resize(10)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果多个HTML标记的同一id属性值设置为相同的字符串,会发生什么情况?

来自分类Dev

如果我为一个中断创建多个ISR,会发生什么情况?

来自分类Dev

如果我为一个中断创建多个ISR,会发生什么情况?

来自分类Dev

如果我将“填充”(猫鼬)与空字符串一起使用,会发生什么情况?我想创建一个抽象函数来从猫鼬获取数据

来自分类Dev

在初始化期间为指针分配字符串值时,会发生什么情况?

来自分类Dev

字符串被视为null但已分配了一个值,为什么会发生这种情况?(使用C#)

来自分类Dev

为常量大小的char数组分配一个const字符串,在未使用的数组索引中会发生什么?

来自分类Dev

使用“ + =”在Java中“更改”字符串时会发生什么情况?

来自分类Dev

当您使用“ + =”在Java中“更改”字符串时会发生什么情况?

来自分类Dev

如果我将一个右值分配给一个类的指针成员会发生什么?

来自分类Dev

如果在我收到第一个请求的响应之前发出了第二个HTTP请求,会发生什么情况?

来自分类Dev

如果fseek中给定的偏移量超出最后一个字符,将会发生什么情况

来自分类Dev

如果将多个PCIe卡放在一个PCIe插槽中会发生什么情况?

来自分类Dev

如果我尝试一次从4个端口向Macbook Pro 2016充电,会发生什么情况?

来自分类Dev

当为char分配的值太大而无法容纳字节时,会发生什么情况?

来自分类Dev

当为char分配的值太大而无法容纳字节时,会发生什么情况?

来自分类Dev

如果我忽略“很好地编码”,而将css(使用样式标签)和js(使用脚本标签)代码放在一个html文件中,会发生什么情况

来自分类Dev

在C ++中将char连接到字符串时会发生什么情况?

来自分类Dev

如果我在不将其返回值分配给变量的情况下调用函数,会发生什么情况?

来自分类Dev

如果shutdown命令杀死了我的统一cron作业,会发生什么情况?

来自分类Dev

如果我尝试使用SetObject并且已经拥有相同的密钥,会发生什么情况?

来自分类Dev

如果在我的java文件中使用了很多@SuppressWarnings,会发生什么情况?

来自分类Dev

如果在文件从一个文件系统(ext4)移至另一个(NTFS)时删除文件,会发生什么情况?

来自分类Dev

为字符串分配一个值

来自分类Dev

如果在反引号中为命令表达式分配了变量,会发生什么情况

来自分类Dev

在Linux中,如果将目录中的1000个文件移到另一个位置,而又将300个文件添加到源目录,会发生什么情况呢?

来自分类Dev

在Elasticsearch中,如果我在一些字段上将'store'设置为yes,但_source设置为false,会发生什么情况?

来自分类Dev

当我将一个字符数组发送到一个输入参数是字符串的函数时会发生什么?

来自分类Dev

当我为一个int分配一个大于INT_MAX的数字时会发生什么?

Related 相关文章

  1. 1

    如果多个HTML标记的同一id属性值设置为相同的字符串,会发生什么情况?

  2. 2

    如果我为一个中断创建多个ISR,会发生什么情况?

  3. 3

    如果我为一个中断创建多个ISR,会发生什么情况?

  4. 4

    如果我将“填充”(猫鼬)与空字符串一起使用,会发生什么情况?我想创建一个抽象函数来从猫鼬获取数据

  5. 5

    在初始化期间为指针分配字符串值时,会发生什么情况?

  6. 6

    字符串被视为null但已分配了一个值,为什么会发生这种情况?(使用C#)

  7. 7

    为常量大小的char数组分配一个const字符串,在未使用的数组索引中会发生什么?

  8. 8

    使用“ + =”在Java中“更改”字符串时会发生什么情况?

  9. 9

    当您使用“ + =”在Java中“更改”字符串时会发生什么情况?

  10. 10

    如果我将一个右值分配给一个类的指针成员会发生什么?

  11. 11

    如果在我收到第一个请求的响应之前发出了第二个HTTP请求,会发生什么情况?

  12. 12

    如果fseek中给定的偏移量超出最后一个字符,将会发生什么情况

  13. 13

    如果将多个PCIe卡放在一个PCIe插槽中会发生什么情况?

  14. 14

    如果我尝试一次从4个端口向Macbook Pro 2016充电,会发生什么情况?

  15. 15

    当为char分配的值太大而无法容纳字节时,会发生什么情况?

  16. 16

    当为char分配的值太大而无法容纳字节时,会发生什么情况?

  17. 17

    如果我忽略“很好地编码”,而将css(使用样式标签)和js(使用脚本标签)代码放在一个html文件中,会发生什么情况

  18. 18

    在C ++中将char连接到字符串时会发生什么情况?

  19. 19

    如果我在不将其返回值分配给变量的情况下调用函数,会发生什么情况?

  20. 20

    如果shutdown命令杀死了我的统一cron作业,会发生什么情况?

  21. 21

    如果我尝试使用SetObject并且已经拥有相同的密钥,会发生什么情况?

  22. 22

    如果在我的java文件中使用了很多@SuppressWarnings,会发生什么情况?

  23. 23

    如果在文件从一个文件系统(ext4)移至另一个(NTFS)时删除文件,会发生什么情况?

  24. 24

    为字符串分配一个值

  25. 25

    如果在反引号中为命令表达式分配了变量,会发生什么情况

  26. 26

    在Linux中,如果将目录中的1000个文件移到另一个位置,而又将300个文件添加到源目录,会发生什么情况呢?

  27. 27

    在Elasticsearch中,如果我在一些字段上将'store'设置为yes,但_source设置为false,会发生什么情况?

  28. 28

    当我将一个字符数组发送到一个输入参数是字符串的函数时会发生什么?

  29. 29

    当我为一个int分配一个大于INT_MAX的数字时会发生什么?

热门标签

归档