C++ 入门

1.  循坏读入不确定的数

int x,y; 

while(cin>>x>>y) {

}

输入 Ctrl +Z, Ctrl+X, Ctrl+D + “Enter” ,系统 会终止循环(Windows 10 验证),

linux验证如下 :

>>是重载运算符试着理解其作用是将行中分割的多个变量一次传输到x,y中,如果行无变量,并终止读入,对应的x,y会读取到0值,从而整个表达式逻辑值为false。

另一种解释:

标题中的两个条件判断都可以这么想:由于 cin 是行缓冲且存在两种阻塞检查机制,当你按下 CTRL + D 或者 按下 CTRL + X + 回车,cin 接收到流结束标志,使得  cin 的值为0,导致条件判断为 FALSE。

2. C++11 auto的用法

auto的原理就是根据后面的值,来自己推测前面的类型是什么。

auto的作用就是为了简化变量初始化,如果这个变量有一个很长很长的初始化类型,就可以用auto代替。

注意点:
1.用auto声明的变量必须初始化(auto是根据后面的值来推测这个变量的类型,如果后面没有值,自然会报错)

2.函数和模板参数不能被声明为auto(原因同上)

3.因为auto是一个占位符,并不是一个他自己的类型,因此不能用于类型转换或其他一些操作,如sizeof和typeid

4.定义在一个auto序列的变量必须始终推导成同一类型

auto x1 = 5, x2 = 5.0, x3='r';  // This is too much....we cannot combine like this
示例:
std::vector<std::string> ve;
std::vector<std::string>::iterator it = ve.begin();
 我们可以用atuo来代替那个初始化类型:

auto it = ve.begin();
此外,如果是可用迭代器的对象的话,还可以这样操作:

int main(){
    vector<int>v;
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    for(auto i : v){
        cout<<i<<" ";
    }
    cout<<endl;
    return 0;
}
auto在这里就是简单的替换了int类型。


3.  C++与C 

## 提升cin,cout输入、输出的效率  ,使其与printf() 和scanf()的性能一致

ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HehuaTang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值