多项选择题

A.std::string总是采用连续的缓冲区保存字符
B.构造std::string()时,不允许传入空的char*参数
C.当传入的索引超过最大值时,std::string::at()的行为定义良好
D.当传入的索引超过最大值时,std::string::operator[]的行为未定义