C++之string的底层真的是用char数组来实现的么?

时间:2022-07-06 16:04:35

一、引言

遇到一个问题:使用加密库对数据进行加密,得到密文,使用string进行保存并传输,然后可以正确解密出来,但是使用string.c_str()进行参数传递则无法正确解密出明文。

原因是:密文中有个字节是0,导致传参数时char数组被截断,但是使用string为什么不会截断呢,string类的实现到底是不是使用char数组呢?

二、步骤

首先就想到去看源码,侯捷先生说过:源码之前,了无秘密。

好吧,看了源码,但是没看懂,功力不够啊,还需要继续修炼