C++关键字笔记

本文深入解析C++的各种关键字,包括C++11新增的关键字如alignas和alignof,以及常见关键字如auto、bool、class等的使用方法和场景。通过实例展示了关键字如何影响数据类型、变量声明、类型推导、内存管理等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++关键字

阅读C++primer看到关键字不可做变量名,于是对关键字了解总结一下。

alignas

C++11后的关键字,作用是改变数据对齐属性,不允许小于结构体原有对齐大小,aligns(n) n指的是字节大小,且只能是2的整次幂。
举例:

struct A{
    int a;
    alignas(2) short b;  //不生效
};
struct alignas(8) B{
    int a;
    short b;
};
struct C{
    int a;
    alignas(8) short b;
};
int main(){
    cout<<sizeof(A)<<" "<<sizeof(B)<<" "<<sizeof(C)<<endl;
    return 0;
}
输出: 8 16 16

alignof

用法:slignof(类型)返回类型对齐大小,单位字节
举例

接上面
int main(){
    cout<< alignof(A)<<" "<<alignof(B)<<" "<<alignof(C)<<endl;
    return 0;
}
输出:4 8 8 

asm

C++内部嵌入 汇编指令

auto

C++98,声明变量位自动变量,有static相对
C++11之后,自动类型推导
举例:

int main(){
    int a;
    auto b = a;
    cout << typeid(a).name() << endl;
    vector<int> ve{1,2,3};
    for(auto x:ve){
        cout<<x<<" ";
    }
    return 0;
}
输出:i
	  1 2 3

bool

内置数据类型,有两个值 true或flase,用于判断语句

break

循环控制语句,用于跳出当前循环

case

与case连用,用于检测匹配

catch

与try连用,后跟语句块,用来处理try捕捉的异常

char char16_t char32 _t

内置数据类型

class

类,用于创建数据类型,默认类中成员为私有

const

用于修饰变量,修饰的变量必须初始化且不允许修改

constexpr

C++11后的关键字,用于常量表达式

const_cast

强制类型转换,用于去除const限定

continue

循环控制语句,用于跳过当前这次循环

default

用于 switch 语句。当 switch 所有的 case 都不满足时,将进入 default 执行

delete

释放new动态申请的内存空间

do

while的一种方式,保证至少进入一次循环

double

内置数据类型,双精度浮点数

dynamic_cast

强制类型转换,允许在运行时刻进行类型转换,从而使程序能够在一个类层次结构安全地转换类型,用于把基类指针转换成派生类指针,或者把指向基类的左值转换成派生类的引用

else

判断语句,与if连用

enum

枚举数据类型

extern

1 后面跟变量,用于声明变量(不是定义)。
2 extern “C” { 语句} 用来连接C编译器,使代码通过C语句形式编译

false

bool类型值,表示 ”假“

float

内置数据类型,单精度浮点数

for

循环结构,for(; ; ){}

friend

声明友元关系

goto

用与跳转执行

goto xxx;
***  //中间语句不会被执行
xxx:

if

条件判断语句

inline

内联,不通过函数调用的方式执行,还是用类似宏定义方式在调用处展开

int long

内置数据类型,int为整形,long为长整型

namespace

命令空间,用于在逻辑上组织类,是一种比类大的结构,using namespace std;

new

用于新建对象,并动态分配内存

operator

操纵符,用于重载操作符 bool operator < (nodeconst &p1 ){}

private

私有的,用来控制类中成员访问权限

protected

受保护的,用来控制类中成员访问权限

public

共有的,用来控制类中成员访问权限

return

用于在函数中返回值。程序在执行到 return 语句后立即返回,return 后面的语句无法执行到

short

内置数据类型

signed

有符号,用于表示变量有符号,与unsigned相对,默认类型,一般不进行声明

sizeof

返回数据类型大小,单位字节,可以为数据类型或变量

static

静态的,修饰变量或函数,会对变量进行默认初始化,限定作用域为本文件

static_cast

强制类型转换

struct

结构类型,与C语句兼容,默认成员为公有的

switch

多分支语句 与case连用

template

模板,C++ 中泛型机制的实现

this

返回调用者本身的指针

true

bool值 表示”真“

try

与catch连用,后跟语句块,用来处理try捕捉的异常

typedef

类型定义,typedef long long ll

typeid

指出指针或引用指向的对象的实际派生类型。

union

联合

unsigned

无符号,用于声明变量是无符号的

using

表明使用 namespace。

virtual

声明函数为虚函数

void

空的,用于函数返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值