美文网首页
c++ primer 读书笔记

c++ primer 读书笔记

作者: Jesse_996 | 来源:发表于2020-06-15 01:48 被阅读0次

    2.基本内置类型

    • 带符号数与无符号数操作时,会变成无符号数。如,-1会变成255
    • 定义于函数体内的内置类型的对象如果没有初始化,则其值未定义。在函数体外默认是0。类的对象如果没有显示初始化,其值由类确定。
    const int *p=nullptr;//p是一个指向整形常量的指针
    constexpr int *q=nullptr;//q是一个指向整形的常量指针
    
    typedef char *ps;
    const ps cstr=0;//常量指针
    const ps *p;//指向常量指针
    //不能把别名带入理解,是错误的
    
    • auto会忽略顶层const,底层const会保留。auto赋值等号右边是一个引用时,auto类型是没有引用的。
    • decltype返回操作数的数据类型。如果表达式是一个变量,会返回变量的类型(包括const和引用),如果表达式内容是解引用操作,会得到引用类型;如果是加了括号的表达式,会得到引用

    3.字符串、向量和数组

    • 不能把字面值直接相加
    • 使用数组作为一个auto变量的初始值时,推断得到的类型是指针而非数组
    • 用for语句处理多维数组时,除了最内层的循环外,其他所有的控制变量都应该是引用类型

    4.表达式

    • static_cast:只要不包含底层const,都可以用来类型转化
    • const_cast: 只能改变对象的底层const性质(去掉或增加)
    • reinterpret_cast:强制转化,很危险

    6.函数

    • 当用实参初始化形参时会忽略掉顶层const。形参的顶级const被忽略了。而底层const不会被忽略。
    • 如果形参数量未知,但类型相同,可以用标准库的initializer_list类型的形参,这是一个模板类型。
    • 调用一个返回引用的函数得到左值,其他类型得到右值。如果返回类型是常量引用,则不能给结果赋值。

    相关文章

      网友评论

          本文标题:c++ primer 读书笔记

          本文链接:https://www.haomeiwen.com/subject/eoxtghtx.html