C++ Primer Plus 第6版 学习笔记-chapter5

本部分罗列了一些难点和注意点,以便复习巩固或者回忆,关注私聊我可以免费领取pdf版C++ Primer Plus 第6版。

1.副作用与顺序点

int i = 1;
int b = (5 + i++) + (4 + i++);

2.前缀的效率比后缀高 前缀将值加一,返回结果;后缀复制一个副本,将其加一,将复制的副本返回。

3.后缀运算符优先级高,从左向右结合;前缀运算符和*优先级相同,从右向左结合。

4.新变量会隐藏就变量,然后变量再次可见

int i = 1;
    int b = (5 + i++) + (4 + ++i);
    {
        int b = 20;
        cout << b << endl;
    }
    cout << i << b;

5.逗号:列表分隔符和逗号运算符。逗号的优先级是最低的。从左向右计算;取第二个值。

6.循环中的变量每轮循环都被分配和释放,影响速率,另一方面,循环结束后会被丢弃。

7.关系运算符的优先级低于算术运算符。

8.strcmp()判断字符串是否相等。strcmp(str1,str2)==0 !=0 >0 <0.

9.string类型 可以用!= 来进行比较

10.C++中string类型转换成char* C++中string类型转换成char*_The wind of freedom blows-CSDN博客

11.编写延时循环

long wait =0;
while(wait<10000)
    wait++;
#include 
#include 
using namespace std;
​
int main()
{
    cout << "Enter the delay time,in seconds :";
    float secs;
    cin >> secs;
    clock_t delay = secs * CLOCKS_PER_SEC;
    clock_t start = clock();
    while (clock() - start < delay);
    cout << "done!";
    return 0;
}

12.类型别名

预处理器: #define BYTE char 预处理时将BYTE全部换成char。此方法不适用声明一系列变量。

#define FlOAT_POINTER float *;
FLOAT_POINTER pa,pb; //pa a pointer float , pa just a float

typedef typedef typeName aliasName;此方法能处理更复杂的别名。它不会创建新类型,只是起个别名。

13.基于范围的for循环(C++11)

for (typeName name : array) 要使用namefor (typeName &name : array) array可用{ ,,,}

14.cin会忽略空格和换行符 cin.get(ch)能处理这个问题。 cin.get()传递的是一个引用。

15.哨兵字符

char ch;
    cout << "Enter characters ; enter # to quit :";
    cin.get(ch);
    while (ch != '#') {
        cout << ch;
        cin.get(ch);
    }

16.文件尾条件EOF

    char ch;
    cout << "Enter characters ; enter CTRL-Z AND  to quit :";
    cin.get(ch);
    while (cin.fail()== false) //while(!cin.fali())  while(cin)
    {   
        cout << ch;
        cin.get(ch);
    }
    
    while(cin.get(ch))
    {
        ...
    }

17.ch = cin.get(); 类似于c中的getchar()

cin.get(ch)返回一个cin对象

cout.put(ch); 类似于c中的putchar()

char ch;
ch = cin.get();
while (ch != EOF) //while(!cin.fali())  while(cin)
    {   
        cout.put(ch);
        ch = cin.get();
    }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值