美文网首页
c++ primer 阅读 day4

c++ primer 阅读 day4

作者: HenryTien | 来源:发表于2017-12-20 19:53 被阅读10次

2.5.2 auto 类型说明符

可以从表达式推断出要定义变量的类型,

  1. 编译器是将引用的对象的类型作为auto的类型。
  2. 去除顶层const特性。

2.5.6 decltype 类型指示符

不是根据表达式的初始化变量确定类型。而是返回操作数的数据类型。
decltype((variable)) 双层括号的结果永远都是引用,dectype(variable)而单层括号是 只有variable本身是引用时,才返回引用。

#include<iostream>
int main()
{
    int a = 3, b = 4;
    int i = 42, *p = &i, &r = i;


    decltype(a) c = a;
    decltype((b)) d = a;
    decltype(a = b) f = a;
    decltype((i)) e = i;
    decltype(r+1) g = 45;
    decltype(*p)  z = a;

    std::cout<<"c="<<c<<std::endl;
    std::cout<<"d="<<d<<std::endl;
    std::cout<<"f="<<f<<std::endl;
    std::cout<<"e="<<e<<std::endl;
    std::cout<<"g="<<g<<std::endl;
    std::cout<<"z="<<z<<std::endl;

    ++c;
    ++d;

    std::cout<<"c="<<c<<std::endl;
    std::cout<<"d="<<d<<std::endl;
    return 0;
}

output:

c=3
d=3
f=3
e=42
g=45
z=3
c=4
d=4

2.6.1 定义Sales_data类型

struct Sales_data {
    std::string bookNo;
    unsigned units_sold = 0;
    double revenue = 0.0;
};


Sales_data accum,trans,*salesptr;

定义一个Book 结构体

#include<iostream>
struct Book
{
    std::string bookName;
    int bookNumber;
};

int main()
{
    Book book;
    book.bookNumber = 1;

    std::cout<<"Input your BookName and Book Number"<<std::endl;
    std::cin>>book.bookName>>book.bookNumber;
    std::cout<<"Book Name: "<<book.bookName<<" Book Number: "<<book.bookNumber<<std::endl;

    return 0;
}

2.6.3 编写自己的头文件

  • 预处理器
    确保头文件被包含多次,仍然能够正常工作。

很清晰,很喜欢,感觉这本书很不错。

相关文章

网友评论

      本文标题:c++ primer 阅读 day4

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