C++帮助文档(自己写的)
以下所有记录几乎都是摘抄自《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++帮助文档(自己写的)的更多相关文章
- CsvHelper文档-3写
CsvHelper文档-3写 不用做任何设置,默认的情况下,csvhelper就可以很好的工作了.如果你的类的属性名称和csv的header名称匹配,那么可以按照下面的例子写入: var record ...
- app开发需求文档怎么写
我们在开发app前都会做需求分析,这个app开发需求文档怎么写呢?一般可以从这几点入手:确定APP方案的目标,APP方案的受众分析,APP开发方案功能设计,APP的操作系统说明方案,APP是是否是原生 ...
- document.write 向文档中写内容,包括文本、脚本、元素之类的,但是它在什么时候执行不会覆盖当前页面内容尼?
当你打开一个页面,浏览器会 调用 document.open() 打开文档 document.write(...) 将下载到的网页内容写入文档 所有内容写完了,就调用 document.close() ...
- 用C++向一个txt文档中写数据
bool CMaked::WriteFileMake(CString filePath, const char *isChange) { ofstream file; //filePath为该txt文 ...
- PRD文档怎么写
昨天学习PMP的相关文档,正好看到里面讲的PRD文档是怎么写的 就把一些学习过程,思维方式,还有用到的工具给记录下来 方便自己以后需要的时候,再去查阅,再读这个教程的时候,我顺便用脑图画了一下 脑图工 ...
- B端产品需求文档怎么写?
B端,或者2B,一般指的是英文中的 to busniss,中文即面向企业的含义.与B端相对应的,是C端,或者2C,同样指的是英文中的 to customer,即面向消费者的意思.因此,人们平常所说的B ...
- Qt 利用XML文档,写一个程序集合 二
接上一篇文章https://www.cnblogs.com/DreamDog/p/9213915.html XML文档的读写 一个根节点,下面每一个子节点代表一个子程序,内容为子程序名字,图标路径,e ...
- Qt 利用XML文档,写一个程序集合 一
接到领导需求安排,说公司未来的硬件设备会越来越多,与每个设备对应的设备检测和设置程序也会增多.导致软甲太多,不好掌控.所以希望做一个完整的软件,但是呢,每个子程序还得独立,应为每个用户购买的设备不是一 ...
- 【随笔】这段时间没有写博客是因为一边看Qt5的帮助文档一边写小程序
长话短说,因为和做程序员的以前的同学联系了一下,知道自己有很多不足,加之接到一个培训机构的人打来的电话稍微打击了一下,虽然那个人满嘴跑火车想装做和我很谈得来,但是我依然看到了自己没有写过任何命令行以外 ...
- Qt 利用XML文档,写一个程序集合 四
接上一篇https://www.cnblogs.com/DreamDog/p/9214067.html 启动外部程序 这里简单了,直接上代码吧 connect(button,&MPushBut ...
随机推荐
- 电脑无线WIFI怎么共享给手机
点屏幕右下角的那个小电脑(网络)标志,里面有打开网络和共享中. 选左上角管理无线网络——选择添加. 选择创建临时网络——点击下一步——输入网络名称. 安全类型选择WEP——安全密钥为10位数字——然后 ...
- for in、for和EnumerateObjectsUsingBlock遍历的区别
1.对于集合中对象数很多的情况下,for in 的遍历速度非常之快,但小规模的遍历并不明显(还没普通for循环快) 2. 如果在for in 循环里,对这个数组进行了修改的话,无论是增,删,修改数组元 ...
- Highcharts数据表示(3)
Highcharts数据表示(3) 採用对象数组的形式,能够明白节点上每一个项目的值.可是当节点较多时,会造成大量的冗余代码. 假设不写配置项名称,对象数组就能够简化二维数组.形式例如以下: data ...
- c#控件重绘的问题
1.当Panel有背景图像的时候,往Panel添加控件(带图像),画面会非常闪烁,所以,Panel尽量不要带背景图像 2.带背景图像可以参考designer.cs里面的写法... 添加Control之 ...
- 【OI】指针线段树&指针
对于线段树,我们一般需要n*4的空间去存储线段树,然后有一种玄学操作是用指针来实现线段树. #include <inttypes.h> #include <algorithm> ...
- HIbernate- SQLQuery 简易
package cn.demo; import java.util.Arrays; import java.util.List; import org.hibernate.SQLQuery; impo ...
- RDA 重现率
文件目录: timing_info/AspectRatioOverscan&TimingTool/Aspect_Ratio_Overscan&Timing_Tool_330.xls 重 ...
- linux驱动编写(Kconfig文件和Makefile文件)
在Linux编写驱动的过程中,有两个文件是我们必须要了解和知晓的.这其中,一个是Kconfig文件,另外一个是Makefile文件.如果大家比较熟悉的话,那么肯定对内核编译需要的.config文件不陌 ...
- 【172】outlook邮箱设置
参考:outlook 2013设置 参考:Outlook设置hotmail邮箱POP3和SMTP服务器 注意
- poj 1286 Necklace of Beads【polya定理+burnside引理】
和poj 2409差不多,就是k变成3了,详见 还有不一样的地方是记得特判n==0的情况不然会RE #include<iostream> #include<cstdio> us ...