主要成员

	union _Bxty
		{	// storage for small buffer or pointer to larger one
		_Elem _Buf[_BUF_SIZE];
		_Elem *_Ptr;
		} _Bx;

	size_type _Mysize;	// current length of string
	size_type _Myres;	// current storage reserved for string

其中,_Bx保存着string的真正成员,如果string长度在16以内,可以直接存放到string对象的内部;

否则,_Bx._Ptr保存存放真正内容的指针;

 

当string长度增长时,会重新分配更大的内存空间,并且将原来的字符串拷贝至新分配的空间中去。

在Visual Studio下,sizeof(str1) = 0x00000020 = 32个字节

相关文章:

  • 2022-12-23
  • 2021-04-29
  • 2022-12-23
  • 2021-08-21
  • 2021-08-22
猜你喜欢
  • 2022-01-04
  • 2021-12-17
  • 2021-11-10
  • 2021-04-10
  • 2021-11-06
相关资源
相似解决方案