c++复习day1

3 篇文章 0 订阅
本文详细介绍了C++中的IDE学习难度、不同操作系统可执行文件命名、共享const变量的方法、常量引用与指针的使用规则,以及常量表达式的概念。此外,还探讨了类型别名的两种实现方式,包括using和typedef。内容深入浅出,有助于理解C++中的这些核心概念。
摘要由CSDN通过智能技术生成

1.一旦掌握了语言,IDE是很容易学习的;

2.windows将可执行文件命名为.exe,而linux默认为a.out.

3.多个文件中共享const变量:

//file.h
extern const int bufsize;
//file.cpp
extern const int bufsize=fcn();`在这里插入代码片`
//共享时不管是声明还是定义都添加extern关键字,这样只需定义一次

4.常量引用可以引用常量,一般引用不可以引用常量,引用不是一个对象,所以常量引用所不能改变的是引用的常量对象或者非常量对象;

const int ci=10;
const int &r1=ci;//正确,引用和对象都是常量
r1=4;//错误,引用的非常量不可改变;
int s=2;
const int &r2=s;//正确,常引用 引用变量(非常量)
r2=3;//错误,常引用引用的非常量不可改变;
int &r3=ci;//错误,试图让一个非常量引用指向一个常量对象

5.指针本身是一个对象,他也可以指向另外一个对象;

int errNumb=0;
int *const curErr=&errNumb;//curErr将一直指向errNumb,*curErr可以改变
const double pi=3.14159;
const double *const pip=π//pip的指向不能改变,一直指向pi,pip指向的值也不能改变,即*pip=...,错误

用名词顶层表示指针本身是不是一个常量,用名词底层表示指针所指向的是一个常量。

6.常量表达式是指值不会改变并且在编译过程中就能得到计算结果的表达式;

字面值是常量表达式
20,“ad”,'a'等等
//用常量表达式初始化过的const对象也是常量表达式
const int max_file=20;
const string str="abc";
const int sz=get_size();//不是常量表达式

C++11规定,允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式,声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化。

constexpr int mf=20;//mf是常量表达式
constexpr int limit=mf+1;//limit是常量表达式
constexpr int sz=size();//只有当sz是一个constexpr函数时,sz才是一个常量表达式,该语句才正确
constexpr int abc(int a){return a;}//实参a必须得是常量类型
constexpr int sz=abc(1);//语句正确,sz是常量表达式;
//可以将函数的返回值赋值给常量对象,用在数组的选项里,如:
int a(){int c=1;return c;}
const int b=a();
int c[10]={0,2};
c[b]=2;
//指针和constexpr
必须明确,在constexpr声明中,如果定义了一个指针,限定符仅对指针有效,与指针所指向的对象无效;
    const int *p=nullptr;//p是一个指向整型常量的指针
    constexpr int *q=nullptr;;//q是一个指向整数的常量指针,指针的指向不能改变

7.类型别名,两种方式:

using a=int;//a等价于int
typedef int b;//b等价于int 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值