• complexType


    //decltype的表达式如果是加上括号的变量,结果将是引用
    decltype((variable)) ruiy; //此变量的数据类型是引用(但此处变量的申明语句是错误的,引用不是对象,指向的对象后将不能再指向别的变量) ,所以引用变量 类型必须初始化
    decltype((i)) d;    //d是int& 
    变量尽量初始化
    尤其是局部变量;
    

      

    decltype((varuable))结果永远是引用,decltype(variable)结果只有当variable本身就是一个引用时才是引用;
    decltype 与auto区别:
    decltype 可能参数引用数据类型;
    根据表达式判断定义的变量的数据类型
    auto 编译器 根据表达式计算结果 断定 声明的数据类型的类型;
    

      

    检查两笔交易涉及的ISBN是否相同
    if(data1.bookNo == data2.bookNo)
    {
      unsigned totalCnt = data1.units_sold + data2.units_sold;//总销售量
    double totalRevenue = data1.revenue + data2.revenue;
    //输出ISBN,总销售量,总销售额,平均价格
    std::cout << data1.bookNo << " " << totalCnt
    <<" " << totalRevenue << " " << totalRevenue / totalCnt << endl;
    if(totalCnt != 0) //说明有销售量
    std::cout << totalRevenue / totalCnt << std::end;
    else
    std::cout << "(no sales) " << std::endl;
    }
    else
    {
    std::cerr << "Data must refer to the same ISBN" << std:: endl;
    return -1;    
    }
    

      

    预处理变量的标识符全部大写
    头文件保护符header guard 依赖于预处理器变量
    *运算符 ,解引用运算符,解引用一个指针将返回指针所指对象,为解引用的结果赋值也就是为指针所指的对象赋值
    & operator 取地址运算符
    指定机器上进行整数运算的
    undefined 未定义可能引发难以追踪的运行时错误,安全问题和可移植
    用于访问string中字符或vector元素
    string和vector都是对数组的某种抽象
    内置类型,内容丰富的抽象数据类型库
    string支持可 变产字符串
    vector表示可变长集合迭代器标准库类型 是string和vector配套类型 用于访问string字符或是vector元素
    string 支持可变长字符串
    vector表示可变长集合
    迭代器标准库类型 用于访问string中的字符和vector元素
    string和vector是对数组的某种抽象
    内置类型 语言直接定义 体现计算机硬件本身具备的能力,标准库定义了另外一组具有更高
    string表示可变长字符序列
    vector存放的是某种给定类型对象的可变长序列
    

      

    标准库类型,访问库中名字简单方法
    命名空间using申明,库函数基本都属于命名空间std,
    ::作用域操作符含义:编译器应从操作符左侧名字所示的作用域中寻找右侧那个名字
    std::cin  使用命名空间std中名字cin
    单个包含还是整个命名空间
    using namespace::Name; 单个
    using namespace std;//
    标准一方面对库类型所提供的操作做了详细规定,另一方面对库实现做了性能要求
    如何初始化类的对象由类本身决定,类可以定义很多初始化对象方式
    string s1;
    string s2 = s1;
    string s3 = "ruiy";// s3是该字符串字面值副本
    string s4(10,'c');
    提供的是一个数字和一个字符 string对象的内容是给定字符连续重复若干次后得到的序列
    string 对象的直接初始化和拷贝初始化
    使用= 初始化一个变量,实际上执行的是拷贝初始化(copy initialization) 编译器把等号右侧的初始值拷贝到新对象,不是等号执行的是直接初始化(direct initialization)
    初始化对象,定义对象所能执行的操作
    通过函数名调用的操作
    getline读取正行 希望能在最终得到的字符串中保留输入时空白符
    getline函数代替>>运算符
    getline函数的参数是一个输入流和一个string对象
    函数从给定的输入流读取内容
    直到遇到换行符 
    换行   空格
    getline读取正行
    能够再最终得到的字符串中保留输入空格 getline函数 的参数是一个输入流和一个string对象
    函数输入流和string对象函数从指定的输入流读取内容 直到遇到换行  换行符也被读取
    所读内容存入到string对象,string对象不存换行符getline 一遇到换行就结束读取操作并返回 
    
     读取单个string对象时用cin流  会忽略最初的空格
    但在getline(输入流,string对象) 遇到换行符就over,不会忽略一开始的  n
    getline读取正行
    在最终得到的字符串中 getline 代替输入运算符
    getline(输入流,string object);函数从cin输入流中读取内容 直到遇到换行符为止
    getline(cin,string line)
    读取cin输入的 行数据到string line 对象,但是string line对象中不不包括换行符号;
    if语句的条件部分使用了 
    string对象的长度
    

      

  • 相关阅读:
    信息收集
    beef框架使用
    网站程序CMS识别
    查找网站后台
    下载漏洞原理及利用
    后台拿webshell方法(2)
    如何学好web安全
    TIME_WAIT过多的解决方法(转)
    sudo
    keepalived+lvs子网掩码造成VIP切换故障 + vrrp_script+track_script
  • 原文地址:https://www.cnblogs.com/ruiy/p/6736987.html
Copyright © 2020-2023  润新知