学习muduo代码发现多处使用了std::string(const char*, const char*) 及成员函数std::string::assign(const char*, const char*)。但是通过查看cplusplus.com并没有发现这两个函数的说明,如下:
于是,编写了测试程序,验证是有效的,不知道这其中进行了什么转换,还是cpluscplus.com自身描述的不完全。
测试代码:
#include <stdlib.h>
#include <string.h>
#include <string>
#include <iostream>
#include <algorithm>
int main()
{
const char *pStr = "Test string.";
std::string str1(pStr, pStr+strlen(pStr));
std::cout << str1 << std::endl;
std::string str2;
str2.assign(pStr, std::find(pStr, pStr+strlen(pStr), 'i'));
std::cout << str2 << std::endl;
return 0;
}
gcc版本:
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)