C++学习笔记

字面值
#include<bits/stdc++.h>
using namespace std;
int main(){
    //指定字面值的类型。
    cout<<sizeof(L'c')<<endl;;//宽字符 16位
    cout<<sizeof((u8"高"))<<endl;//utf-8
    cout<<sizeof u'a'<<endl;//Unicode16位
    cout<<sizeof U'a'<<endl;//Unicode32位
    cout<<sizeof 45ULL<<endl;//无符号长整型,64位
    cout<<sizeof 45u<<endl;//无符号整型
    cout<<sizeof 45LL<<endl;//长整型,64位
    cout<<sizeof 45L<<endl;//整型,32位
}
变量初始化的方式:
int a=0;
int a(0);
int a={0};
int a{0};
//另外还有默认初始化,定义在函数内部的值不被初始化,要谨慎使用
声明一个变量:
extern   int i=100.//这是错误的,不能显式初始化,一个变量只能被定义一次,但是能被声明很多次。使用多个文件时,声明时很有必要的。
作用域操作符::
//#include<bits/stdc++.h>
using namespace std;
int x=100;
int main(){
	cout<<::x<<endl;
}
//全局作用域没有名字,所以在左侧为空的时候,输出全局变量,
引用

必须初始化,可以这样理解,引用是对象的另外一个名字,引用不是对象所以不能定义引用的引用。

const
int d=3.14;
const int x=d;
在编译器中:
const tmple=d1;
const int x=d1;
所以非常量的值可以赋值给常量

底层const
const int ,,,
顶层const :
const  int *const p3=p2;

另外  constexpr 类型变量可以检验  变量的值是不是一个常量表达式。
decltype
#include<bits/stdc++.h>
using namespace std;
int ok(){return 4;}
int main(){
    decltype(ok()) x;//自动分析类型,然后供给使用
}

预处理变量处理
#include <stdio.h>
#define MAX(x,y) (((x)>(y))?(x):(y))
#define MIN(x,y) (((x)<(y))?(x):(y))
int main(void)
{
#ifdef MAX    //判断这个宏是否被定义
    printf("3 and 5 the max is:%d\n",MAX(3,5));
#endif
#ifdef MIN
    printf("3 and 5 the min is:%d\n",MIN(3,5));
#endif
    return 0;
}
#define 把一个变量设定为预处理变量,
ifndef(未定义为真)、ifdef(定义为真)和endif检查变量是否已经定义
一旦检查结果为真,那么就一直后续执行到endif为止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值