以下所有记录几乎都是摘抄自《C++ primer 5th 中文》

auto   类型说明符   P61

特点:

1.     定义的变量必须有初始值

2.     通过初始值来推算变量的类型

3.     在一条语句中声明多个变量时,这些变量的基本数据类型必须一样。(注意,并没有说限定符等修饰符也要一样)

4.     编译器推断出来的auto类型有时候和初始值并不完全一样,会适当改变结果类型使其更符合初始化规则。

5.     一般会忽略顶层const,保留底层const

为什么要有它:

编程时常常需要把表达式的值赋给变量,这就要求在声明变量的时候清楚地知道表达式的类型。然而做到这一点并非那么容易,有时甚至根本做不到。为此有了auto类型说明符。

decltype 类型指示符 P62

特点:

1.编译器分析表达式并得到它的类型,却不实际计算表达式的值

2.处理顶层const和引用的方式与auto有点不同:如果其使用的表达式是一个变量,则返回该变量的类型(包括顶层const和引用在内)

3.可以不初始化,但是有些特殊的必须初始化,比如引用。

为什么要有它:

希望从表达式的类型推断出要定义的变量类型,但是不想用该表达式的值初始化变量。

const 常量限定符(修饰类型) P53

constexpr 类型 (修饰表达式)     P59

=const expression

常量表达式=值不会改变并且在编译过程就能得到计算结果的表达式

Void*指针  P50

1.只能用来和别的指针比较、作为函数的输入或输出、或者赋给另一个void*指针。

2,可用于存放任意对象地址,但我们不知道这个地址里的到底是什么对象

string P76、77

初始化:

#include <iostream>
#include <string>
using std::cout;
using std::endl;
using std::string;
int main()
{
string s1;
string s2(s1);
string s3 = s1;
string s4("value");
string s5 = "value";
string s6(10, 'c');
return 0;
}

操作:

Struct  定义类的关键字  P64

Struct sales_data

{

。。。。

};

关键字紧跟类名和类体(类体可空)

typedef 类型别名(type alias)  P60

=type definition

C++11中可以用别名声明来实现:

using xx=xxx;

特点:

1.类型别名和其替代的类型名等价(等价的意思不是把类型别名替换成它本来的样子去理解)

为什么要有它:

让复杂的类型名字变得简单明了、易于理解和使用,还有助于程序员清楚地知道使用该类型的真实目的。

预处理器功能  

头文件保护符   P68

=header guard

#ifndef 大写头文件名

#define 大写头文件名

............

#endif

#include 

#include 头文件名

预处理器看到这个标记时就会用指定的头文件内容替代#include

C++帮助文档(自己写的)的更多相关文章

  1. CsvHelper文档-3写

    CsvHelper文档-3写 不用做任何设置,默认的情况下,csvhelper就可以很好的工作了.如果你的类的属性名称和csv的header名称匹配,那么可以按照下面的例子写入: var record ...

  2. app开发需求文档怎么写

    我们在开发app前都会做需求分析,这个app开发需求文档怎么写呢?一般可以从这几点入手:确定APP方案的目标,APP方案的受众分析,APP开发方案功能设计,APP的操作系统说明方案,APP是是否是原生 ...

  3. document.write 向文档中写内容,包括文本、脚本、元素之类的,但是它在什么时候执行不会覆盖当前页面内容尼?

    当你打开一个页面,浏览器会 调用 document.open() 打开文档 document.write(...) 将下载到的网页内容写入文档 所有内容写完了,就调用 document.close() ...

  4. 用C++向一个txt文档中写数据

    bool CMaked::WriteFileMake(CString filePath, const char *isChange) { ofstream file; //filePath为该txt文 ...

  5. PRD文档怎么写

    昨天学习PMP的相关文档,正好看到里面讲的PRD文档是怎么写的 就把一些学习过程,思维方式,还有用到的工具给记录下来 方便自己以后需要的时候,再去查阅,再读这个教程的时候,我顺便用脑图画了一下 脑图工 ...

  6. B端产品需求文档怎么写?

    B端,或者2B,一般指的是英文中的 to busniss,中文即面向企业的含义.与B端相对应的,是C端,或者2C,同样指的是英文中的 to customer,即面向消费者的意思.因此,人们平常所说的B ...

  7. Qt 利用XML文档,写一个程序集合 二

    接上一篇文章https://www.cnblogs.com/DreamDog/p/9213915.html XML文档的读写 一个根节点,下面每一个子节点代表一个子程序,内容为子程序名字,图标路径,e ...

  8. Qt 利用XML文档,写一个程序集合 一

    接到领导需求安排,说公司未来的硬件设备会越来越多,与每个设备对应的设备检测和设置程序也会增多.导致软甲太多,不好掌控.所以希望做一个完整的软件,但是呢,每个子程序还得独立,应为每个用户购买的设备不是一 ...

  9. 【随笔】这段时间没有写博客是因为一边看Qt5的帮助文档一边写小程序

    长话短说,因为和做程序员的以前的同学联系了一下,知道自己有很多不足,加之接到一个培训机构的人打来的电话稍微打击了一下,虽然那个人满嘴跑火车想装做和我很谈得来,但是我依然看到了自己没有写过任何命令行以外 ...

  10. Qt 利用XML文档,写一个程序集合 四

    接上一篇https://www.cnblogs.com/DreamDog/p/9214067.html 启动外部程序 这里简单了,直接上代码吧 connect(button,&MPushBut ...

随机推荐

  1. JSP的会话(Session)跟踪

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/session-tracking.html: 会话(Session) HTTP是一个“无状态”协议,这意味 ...

  2. 数学之路-分布式计算-storm(3)

    .安装zookeeper 本博客全部内容是原创.假设转载请注明来源 http://blog.csdn.net/myhaspl/ myhaspl@aaayun:~/jzmq-master$cd .. m ...

  3. Django学习系列之重写User模型和登录验证

    重写User模型 Django内置的User模型可能不适合某些项目,我们可能要基于内置的添加一些字段 创建users app startapp users 修改settings.py配置文件,覆盖默认 ...

  4. 利用vue-cli配合vue-router搭建一个完整的spa流程

    好文章备忘录: 转自:https://segmentfault.com/a/1190000009160934?_ea=1849098 demo源码:https://github.com/1590123 ...

  5. Creo二次开发—内存处理

    #include <ProDisplist.h> ProError ProDisplistInvalidate(ProMdl model) Invalidates the two- or ...

  6. javascript遍历数组的两种方法

    var array=new Array(); array [0]="北京"; array [1]="天津"; ...//solution 1 for(var i ...

  7. UVA10056 - What is the Probability ?(概率)

    UVA10056 - What is the Probability ? (概率) 题目链接 题目大意:有n个人玩游戏,一直到一个人胜出之后游戏就能够结束,要不然就一直从第1个到第n个循环进行,没人一 ...

  8. Apache2.2安装

    貌似Apache官网从2.2.X之后不再发布Windows安装版本,需要的话得自己编译 从官网下载2.2.25(我下了一个no-ssl的),安装提示 因为本机已经安装IIS,占用80端口,修改Apac ...

  9. 洛谷P1291 [SHOI2002]百事世界杯之旅——期望DP

    题目:https://www.luogu.org/problemnew/show/P1291 水水的经典期望DP: 输出有毒.(其实也很简单啦) 代码如下: #include<iostream& ...

  10. uva10870

    https://vjudge.net/problem/UVA-10870 裸的矩阵快速幂 注意系数矩阵在前面 因为系数矩阵为d*d 方程矩阵为d * 1 放反了就是d * 1 d * d 不符合矩阵乘 ...