• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
caizhk的爬坑之旅
博客园    首页    新随笔    联系   管理    订阅  订阅

第三章 标准库类型

1.什么是默认构造函数?

ANS:默认构造函数就是在没有显式提供初始化式时调用的构造函数。它由不带参数的构造函数,或者为所有形参提供默认实参的构造函数定义。如果定义某个类的变量时没有提供初始化式,就会使用该默认构造函数。

如果用户的定义的类中没有显式定义任何构造函数,编译器就会自动为该类生成默认构造函数,称为合成的默认构造函数。

 

2.解释string类型的输入操作符合getline函数分别如何处理空白字符。

ANS:

   string类型的输入操作符对空白字符的处理:读取并忽略有效字符(非空白字符)之前的所有的空白字符,然后读取字符直至再次遇到空白字符,读取终止(该空白字符仍留在输入流中)。

   getline函数对空白字符的处理:不忽略行开头的空白字符,读取字符直至遇到换行符,读取终止并丢弃换行符(换行符从输入流中去掉但并不存储在string对象中)。

 

3.如果采用下面的方法来计算mid会产生什么结果?

vector<int>::iterator mid = (vi.begin()+vi.end())/2;

ANS:将两个迭代器相加的操作是未定义的,因此用这种方法计算mid会出现编译错误。

 

4.string对象和bitset对象之间是反向转化的:string对象的最右边字符(即下标最大的那个字符)用来初始化bitset对象的低阶位(即下标为0的位)。当用string对象初始化bitset对象时,记住这一差别很重要。

 

5.cctype定义的函数:

重要的如下:   

      isalnum(c)    如果c是字母或数字,则为true

      isalpha(c)     如果c是字母,则为true

      isdigit(c)      如果c是数字,则为true

        islower(c)     如果c是小写字母,则为true

      ispunct(c)     如果c是标点符号,则为true

      isupper(c)     如果c是大写字母,则为true

      tolower(c)     如果c是大写字母,则返回其小写字母形式,否则直接返回c

      toupper(c)    如果c是小写字母,则返回其大写字母形式,否则直接返回c

6.当进行string对象和字符串字面值混合连接操作时,+操作符的左右操作数必须至少有一个是string类型的。

posted @ 2016-04-01 09:05  caizhk  阅读(162)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3