#include<iostream>
#include<string>
#include<memory>
using namespace std;
void main()
{
string s("abcd");
basic_string<char>s1(s.get_allocator()); //#1
basic_string<char>::allocator_type aT=s1.get_allocator() ; //#2
string::size_size_type se=s1.size(); //#3
cout<<se<<endl;
}
在#1中为什么s1的实参给了一个allocator_type类型的值,难道basic_string<char>模板类中有这个类型形参的构造函数?
另外为什么要写成basic_string<char>, basic_string<char>就是 string吧。
还有如果用allocator_type类型的参数去当实参,构造出来的还是不是string类型?
#2是什么意思,看不懂!
#3想表达什么也看不懂!
求大神搭救!