C++中string构造函数的解析

int main()

{

string     s("hello c++");

return 0;

}

C++中string构造函数的解析_第1张图片

如图,先调用string:tidy函数清空内存;再调用string::assign来写数据

 

再跟进string::assign函数:


C++中string构造函数的解析_第2张图片

先调用string::length来取代字符串的长度,再调用string::assing0(char *pStr,int length)

 

跟进string::assign0函数:


C++中string构造函数的解析_第3张图片

调用string::grow函数来看有没有足够的空间容纳字符串:

C++中string构造函数的解析_第4张图片

如果有足够的空间,则调用string::copy(char *dst,chart *src,int count);来复制字符串

 

到这来初始化的过程就差不多结束了


你可能感兴趣的:(c++)