C++入门2——标准库概览&类型和指针

摘自《C++程序设计语言》


【问题】

  • 为什么频繁地使用引用,而不是指针或者对象本身
  • 为什么很多类似于string::const_iterator的语言?这是什么作用?

  • 字符串string:字符串连接(+)、字符串比较(=)
  • 输入输出:cin、cout
  • 容器
    • vector:类似于数组,可以通过[ ]下标访问
    • list:一般通过遍历的方式访问
    • map:键值对

bool类型

  • 在算术和逻辑表达式里,bool都将被转换为int
  • 指针也可以隐式地转换为int,非零指针为TRUE,零值的指针将转换为false

char

  • 一切char都是8位,且都可以转换为int型
  • char是signed还是unsigned由实现决定
  • signed char的范围为-128~127,unsigned char的范围为0~255
  • 注:为什么可以到-128——原码—>反码(正数的原码即为反码,负数的反码为原码除符号位的部分取反,为了解决1+(-1)= -2的问题,但是出现了1+(-1)= -0的问题)—>补码(正数不变,负数为反码+1,解决-0的问题)
  • 问题:为什么char a = -128,printf(a)时输出的不是-0,而是-128?

int

  • 一切int皆为有符号类型
  • int有short,int,long三种类型
  • int有十进制、八进制、二进制三种表现形式。10 = 012 = 0xa

大小

  • C++中类型的大小是依赖与实现的,所以不能准确给出int是多大这样的定义
  • sizeof方法用char的大小的倍数来表示对象的大小。eg:sizeof(char)= 1

void

  • 函数无返回值:void f()
  • 指向类型不明的对象的指针:void *f

enum枚举

  • enum enumName { factor1,factor2,factor3 }
  • 枚举符的值默认从0开始递增,但可以显示地通过factor=num指定枚举符的值,且这个值不能超过2^k - 1或者(-2k,2k - 1)
  • 每一个factor被称为枚举符,每个枚举符都是enumName类型的

声明

  • 待阅

你可能感兴趣的:(C++入门2——标准库概览&类型和指针)