//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(,'c');
提供的是一个数字和一个字符 string对象的内容是给定字符连续重复若干次后得到的序列
string 对象的直接初始化和拷贝初始化
使用= 初始化一个变量,实际上执行的是拷贝初始化(copy initialization) 编译器把等号右侧的初始值拷贝到新对象,不是等号执行的是直接初始化(direct initialization)
初始化对象,定义对象所能执行的操作
通过函数名调用的操作
getline读取正行 希望能在最终得到的字符串中保留输入时空白符
getline函数代替>>运算符
getline函数的参数是一个输入流和一个string对象
函数从给定的输入流读取内容
直到遇到换行符
换行 空格
getline读取正行
能够再最终得到的字符串中保留输入空格 getline函数 的参数是一个输入流和一个string对象
函数输入流和string对象函数从指定的输入流读取内容 直到遇到换行 换行符也被读取
所读内容存入到string对象,string对象不存换行符getline 一遇到换行就结束读取操作并返回
\n 读取单个string对象时用cin流 会忽略最初的空格
但在getline(输入流,string对象) 遇到换行符就over,不会忽略一开始的 \ n
getline读取正行
在最终得到的字符串中 getline 代替输入运算符
getline(输入流,string object);函数从cin输入流中读取内容 直到遇到换行符为止
getline(cin,string line)
读取cin输入的 行数据到string line 对象,但是string line对象中不不包括换行符号;
if语句的条件部分使用了
string对象的长度

  

complexType的更多相关文章

  1. Xml Schema:C#访问在complextype中插入新元素

    最近用c#写Xml Schema代码,找了很久也找不到如何在已有的complextype中插入新的element,最后我充分发挥自己的聪明才智,哈哈,终于从...中找到了灵感. XmlSchemaSe ...

  2. [BTS] System.Xml.Schema.XmlSchemaException: The complexType has already been declared when generate IDoc schema.

    I use wcf-sap adapter for generate the schema of IDoc that named "YHREMPMASTER". but throw ...

  3. Oozie分布式任务的工作流——Spark篇

    Spark是现在应用最广泛的分布式计算框架,oozie支持在它的调度中执行spark.在我的日常工作中,一部分工作就是基于oozie维护好每天的spark离线任务,合理的设计工作流并分配适合的参数对于 ...

  4. 利用PowerShell复制SQLServer账户的所有权限

    问题 对于DBA或者其他运维人员来说授权一个账户的相同权限给另一个账户是一个很普通的任务.但是随着服务器.数据库.应用.使用人员地增加就变得很枯燥乏味又耗时费力的工作.那么有什么容易的办法来实现这个任 ...

  5. EF里Guid类型数据的自增长、时间戳和复杂类型的用法

    通过前两章Lodging和Destination类的演示,大家肯定基本了解Code First是怎么玩的了,本章继续演示一些很实用的东西.文章的开头提示下:提供的demo为了后面演示效果,前面代码有些 ...

  6. DTO – 服务实现中的核心数据

    在一个Web服务的实现中,我们常常需要访问数据库,并将从数据库中所取得的数据显示在用户页面中.这样做的一个问题是:用于在用户页面上展示的数据和从数据库中取得的数据常常具有较大区别.在这种情况下,我们常 ...

  7. .NET基础拾遗(7)Web Service的开发与应用基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构

    系列目录 前言:这是对本文系统一次重要的革新,很久就想要重构数据访问层了,数据访问层重复代码太多.主要集中增删该查每个模块都有,所以本次是为封装相同接口方法 如果你想了解怎么重构普通的接口DAL层请查 ...

  9. spring源码分析之<context:component-scan/>vs<annotation-config/>

    1.<context:annotation-config/> xsd中说明: <xsd:element name="annotation-config"> ...

随机推荐

  1. android WebView详细使用方法(转)

    1.最全面的Android Webview详解 2.最全面总结 Android WebView与 JS 的交互方式 3.你不知道的 Android WebView 使用漏洞 如果想保证登录状态,就插入 ...

  2. 通过srvctl add命令添加database信息到srvctl管理器

    ================================================通过srvctl add命令添加database信息到srvctl管理器================ ...

  3. vs中使用M_PI的问题及解决 角度转弧度&根据弧度计算圆周上点的坐标的方法

    M_PI 是一个宏定义,圆周率的定义           C/C++ code #define M_PI 3.14159265358979323846 此宏定义和编译器有关,TC中M_PI宏就定义在& ...

  4. 37、pendingIntent 点击通知栏进入页面

    转载: http://blog.csdn.net/yuzhiboyi/article/details/8484771 https://my.oschina.net/youranhongcha/blog ...

  5. vc2013使用经验

    1 find all reference功能需要visual assist的帮助 vs2013自己的查找不行,所以可以安装visual assist X,这样的话,就可以支持快速准确的referenc ...

  6. mac上完整卸载删除.简单粗暴无脑:androidstudio删除方案

    如果你是mac  ,你删除as ,删不干净也正常,你会发现安装的时候,前面的东西也在.配置文件在,会导致你以前的错误不想要的东西都在. 废话不多说,复制粘贴就是干!!!!~~~~~~~~ 第一步: 复 ...

  7. 将众多小文件输入Hadoop的解决方案 可挂载的HDFS

    配置HDFS为可挂载后: 1-可挂载后才支持非完整POSIX语义: 2-仍然不支持随机写入,仍然为“一次写入,多次读取”: 3-可能误用,导致众多小文件: : 1-使用Solr存储和检索小文件: 2- ...

  8. Optimizer in SQL - Catalyst Optimizer in Spark SQL

    SELECT sum(v) FROM (    SELECT score.id, 100+80+score.math_score+ score.english_score AS v    FROM p ...

  9. 我的Java开发学习之旅------>工具类:将播放器的进度值转换成相应的时间格式

    在我的博客<我的Java开发学习之旅------>Java 格式化类(java.util.Formatter)基本用法,地址:http://blog.csdn.net/ouyang_pen ...

  10. ERR:/usr/local/lib/libcrypto.so.1.0.0: no version information available

    解决方法: locate libssl.so.1.0.0   sudo rm /usr/local/lib/libssl.so.1.0.0   sudo ln -s /lib/x86_64-linux ...