C++ Primer Plus笔记

一、cin输入字符串、cout输出字符串

  1. cin输入字符串以空格/换行符为分割点
    例如: cin>>str1>>str2;
    输入:hello world 或者 hello换行符world,即str1 = "hello, str2 = "world"
    输入:helloworld,即str1 = "helloworld"
    小结:cin是面对单个单词或字符的输入,不是面对一整行的输入

  2. cout输出字符串从该字符串的首地址开始打印,直到遇到空字符为止
    例如:cout << "a good boy"; 输出a good boy
    在C++中,用引号括起来的字符串像数组名一样,也是第一个元素的地址。

二、未被初始化的string对象的长度自动设置为0
例如:

string str;
cout << str.size();	//输出结果为0

    PS: string对象根据字符串的长度自动调整自己的大小!!!

三、cout在现实bool值之前会将他们转换为int,但是cout.setf(ios::boolalpha);函数调用设置了一个标记,该标记命令cout显示true和false,而不是0和1。
例如
int x = 1;
cout.setf(ios::boolalpha);
cout << (x < 3);    // 输出:true

四、递增递减操作符(++/–)与指针取值操作符(*)的优先级

  1. 前缀操作符与取值操作符*在一起
    前缀递增、前缀递减和取值操作符优先级一样,以从右往左的方式进行结合。
    例如:
    int arr[3] = { 1, 2, 3 };
    int *p = arr;
    cout << *++p << endl;
    分析:p指向arr[0]元素的指针,*与前缀递增在一起,优先级相同,所以先将++应用于p,此时p指向第二个元素arr[1], 然后将 * 应用于递增后的p,即 *++p = 2;
  2. 后缀操作符与取值操作符*在一起
    后缀递增、后缀递减比取值操作符优先级高。
    例如:
    int arr[3] = { 1, 2, 3 };
    int *p = arr;
    cout << *p++<< endl;
    分析:后缀操作符++的优先级更高,所以先执行p++,因为时后缀,所以此时p仍然指向的的时第一个元素,因此 * p++ = *(p++) = 1;

五、strcpy()函数

  1. strcpy()函数接受两个字符串地址作为参数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值