您的位置:首页 > 编程语言 > C语言/C++

C++基础

2016-02-16 13:43 357 查看

第二章 开始

1.编译器可检查出的错误

语法错误:少括号

类型错误指针或引用类型不符,或int a=”jack”;

声明错误:使用未声明的变量或函数

2.初始化与赋值

初始化表示变量创建时赋予其一个初始值

赋值表示将当前值擦除,以新值替代

3.列表初始化{}若存在值的丢失,则编译器报错 int n = {ld};

4.函数体外的变量初始化为0,函数内的无初始化

5.声明和定义

声明规定变量的类型与名字,定义还申请存储空间,有可能为其赋予一个初始值(包含显示初始化的声明即定义)

6.指针与引用

引用是变量的别名,所以引用不是对象,必须初始化,而指针不需要。

指针可以指向不同的对象,而引用绑定后便不能更改。

const int &r=40; 常量引用

二者都需要对象类型严格匹配

把int型变量赋给指针会报错

7.const(顶层)对象必须初始化

const int *const p = &i;

第一个const为底层,第二个为顶层

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

constexpr int m=20;

constexpr int c=m+1;

constexpr int sz=size(); //size()必须是constexpr函数(足以简单,以便编译时即可得到结果)

constexpr int *p=nullptr; //此时p为顶层const,即指向int的常量指针

9.类型别名

typedef double wage;

typedef wage *p; //p为指向double类型的指针

using wage=double; //相同含义

10.auto 类型说明符

必须有初始值以便推导,且一条声明语句各变量类型相同

auto v = xx; 会将顶层const丢失,const auto v =xx;

添加 auto &p = xx; 引用和指针会将顶层const保留

11.decltype 类型指示符(推导)

decltype(*p|a=b) r; 此时r为引用需初始化

decltype((i)) r; 也为引用

decltype(i) n; int类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: