C++代码细节补充

1、读取数量不定的输入数据

while(std::cin>>value)

或者用getline代替>> 读取一行内容,保留输入的空白符,而string对象会忽略开头的空白

while(getline(cin,line))

 

2、声明和定义的关系

声明:使得名字为程序所知,规定对象的类型和名字

定义:创建与名字相关的实体,申请存储空间

变量只能被定义一次,但可以有多次声明;

任何包含了显式初始化的声明即成为定义:

int i;//声明并定义了i

声明i但不定义i:

extern int i;

定义i而不声明:

extern int i = 0

3、命名规范

变量名用小写

自定义类名用大写字母开头

4、范围for循环(可处理string字符的每个对象)

for(declaration:expression)
        statment

expression是一个对象,表示一个序列

declaration负责定义一个变量,该变量是序列中的基础元素,每次迭代declaration的变量会被初始化为expression的下一个元素值

 举例:输出string的每个字符

string str(“abc”);
for(auto c : str)
    cout << c << endl;

如果要用范围for循环改变string对象,则必须把循环变量定义为引用类型

for(auto &c : str)
    c = toupper(c);//变成大写

5、处理string字符的单个对象

1、使用下标:

s[s.size()]-1 ;//是s字符串最后一个字符

2、使用迭代器

所有标准库容器都可以支持迭代器,但只有少数几种支持下标运算,如vector

v.begin()负责返回指向第一个元素(或字符)的迭代器,v.end() 负责返回指向v尾元素的下一个位置的迭代器(尾后迭代器)。

若元素为空,begin()和end()指向同一个迭代器。

for(auto it = s.begin();it != s.end();++it)
    statement;

6、++i和i++终结

++i返回对象本身,而i++将原来的对象保存,建立一个副本,自增后返回。

如果不需要使用原始对象,i++的操作会浪费空间。

7、逗号运算符

逗号运算符的结果是右侧表达式的值。

 

转载于:https://www.cnblogs.com/juanjuanduang/p/10971821.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值