《Primer C++》读书笔记(二):第2章 变量和基本类型

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了《Primer C++》读书笔记(二):第2章 变量和基本类型脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

第2章 变量和基本类型


  • 当赋值给带符号类型一个超出它表示范围的值,结果是的@H_126_6@未定义的。
#include <iostream>
using namespace std;

int main(int argc, char const *argv[])
{
    signed char c = 256;
    cout<<"c = "<<endl;
    return 0;
}

运行结果:

《Primer C++》读书笔记(二):第2章 变量和基本类型

  • 指针和引用的区别
    1)指针本身就是一个对象,允许对指针赋值和拷贝,而且在指针的生命周期内它可以指向几个不同的对象;引用不是一个对象,无法令引用重新绑定到另外的对象
    2)指针无须再定义时赋初值,和其他内置类型一样,在块作用域内定义的指针如果没有被初始化,也将拥有一个不确定的值;引用必须在定义时赋初值
  • 不能直接将int变量赋值给int指针
#include <iostream>
using namespace std;

int main(int argc, char const *argv[])
{
    int i = 1;
    int *p = i;
    cout<<*p<<endl;
    return 0;
}

运行结果:

《Primer C++》读书笔记(二):第2章 变量和基本类型

  • 给定指针p,如何判断它是否指向一个合法的对象
    1)在正常初始化的情况下,使用if(p)进行判断即可
    2)在不注意初始化所有指针的情况下,将if(p)置于try结构中,如果程序块顺利运行,则p合法,否则,p不合法
  • 当使用了类型别名的声明语句时,错误的做法是把类型别名替换成本来的样子
typedef char *pstring;
const pstring cstr = 0;
const pstring *ps;

const char *cstr = 0;   // 是对const pstring cstr的错误理解
  • 给一个初始值绑定一个const引用时,此时的const是指底层const
  • auto和decltype的区别
    1)auto类型说明符用编译器计算变量的初始值并推断其类型,而decltype只让编译器分析表达式并得到它的类型,并不实际计算表达式的值
    2)编译器推断出来的auto类型忽略顶层const,decltype保留顶层const
    3)与auto不同,如果decltype的表达式加上括号,则返回引用类型

脚本宝典总结

以上是脚本宝典为你收集整理的《Primer C++》读书笔记(二):第2章 变量和基本类型全部内容,希望文章能够帮你解决《Primer C++》读书笔记(二):第2章 变量和基本类型所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。