2017-5-15 C++ primer 笔记

c++primer笔记

  • 加入光荣的进化吧

位运算符

  • 写的是啥玩意。。

sizeof运算符

  • 返回一条表达式或一个类型名字所占的字节数。
    • 满足右结合律
    • 返回值是一个size_t类型。
  • size并不计算器运算对象的值
    • eg sizeof p ; 表达式从右向左组合,先 *p 但是size并不会计算 p的值, 所以该语句无意义。
  • 对数组执行sizeof运算会得到整个数组所占空间的大小。,等价于对数组中所有元素各执行一次sizeof,并不会把数组转换成指针。
    • 可以用数组的大小除以单个元素的大小得到数组中元素的个数。
    • int num= sizeof(ia)/sizeof( *ia) ///*ia 指的是数组首元素
  • 对string或vector对象执行sizeof运算==只返回该类型固定部分的大小==?!

第五章! 语句

简单语句

  • 使用空语句时应加上注释,使读代码的人知道该语句是有意省略的
  • ==复合语句==是指用花括号括起来的语句, 也被称为 ==块==。 一个块就是一个作用域。
  • switch语句
    • 一定不要省略case分支最后的break语句。 如果没写break,最好加一段注释说明程序的逻辑。
    • switch语句其实就是跳转到所标识的地方(如 case 1, switch(1)就是跳转到该处) 如果没有break 执行完case1的内容后 会继续执行case2的程序。。。
    • default: 如果没有case符合情况,就执行default的内容。
  • 范围for
vector<int> v={0,1,2,3,4,5,6,7,8,9};
for(auto &r : v) //对于v中每一个元素
    r*=2; 

相当于↓:

for(auto beg= v.begin(),end= v.end(); beg!=end; ++beg){
    auto &r=*beg;
    r *=2;
}
发布了29 篇原创文章 · 获赞 3 · 访问量 7149

猜你喜欢

转载自blog.csdn.net/liu432linux/article/details/72232700