当前位置:首页 » 《资源分享》 » 正文

C++ 关键字完整介绍

22 人参与  2024年09月13日 18:01  分类 : 《资源分享》  评论

点击全文阅读


文章目录

1. 关键字

2. 控制语句关键字

3. 数据类型关键字

4. 存储类型关键字

5. 类和对象相关关键字

6. 异常处理关键字

7. 其他关键字


1. 关键字

C++ 关键字是编程语言保留的单词,这些单词具有特定的含义,并在编译过程中被编译器识别和处理。由于关键字有特殊的用途,因此不能将它们用作标识符(变量名、函数名、类名等)。

控制语句关键字:用于控制程序的流程,例如条件判断、循环等。数据类型关键字:用于定义变量和函数的类型。存储类型关键字:用于指定变量的存储位置和生命周期。类和对象相关关键字:用于面向对象编程,定义类、对象及其属性和方法。异常处理关键字:用于处理程序运行时的异常。其他关键字:提供各种其他功能,如命名空间、类型转换等。
分类关键字描述
控制语句关键字if条件语句,用于根据条件表达式的结果执行代码块。
elseif配合使用,用于条件为假时执行代码块。
switch用于根据一个变量的值执行不同的代码块。
caseswitch语句中用于匹配变量的值。
defaultswitch语句中用于处理所有未匹配的情况。
for循环语句,用于执行代码块多次,通常用于已知次数的循环。
while循环语句,用于根据条件表达式重复执行代码块。
dowhile配合使用,先执行代码块,再检查条件表达式。
break终止循环或switch语句,并跳出语句块。
continue跳过当前循环迭代,继续下一次迭代。
goto无条件跳转到标记位置,不推荐使用,因为会使代码难以维护。
return用于从函数中返回值,并终止函数执行。
数据类型关键字int整数类型。
float单精度浮点数类型。
double双精度浮点数类型。
char字符类型。
void无类型,常用于函数无返回值。
bool布尔类型,表示真或假。
short短整数类型,通常为16位。
long长整数类型,通常为32位或更长。
signed有符号类型修饰符。
unsigned无符号类型修饰符。
wchar_t宽字符类型,通常用于Unicode字符。
存储类型关键字auto自动类型推断,C++11 引入。
register建议将变量存储在寄存器中,实际使用由编译器决定。
static指定变量在其作用域内保持其值和生命周期。
extern声明变量或函数在另一个文件中定义。
mutable允许常量成员在const成员函数中被修改。
thread_local声明线程局部存储变量,每个线程有其独立实例。
类和对象相关关键字class定义类。
struct定义结构体,默认访问权限为公有。
union定义共用体。
this指针,指向调用对象自身。
public访问权限,公有成员。
private访问权限,私有成员。
protected访问权限,受保护成员。
virtual声明虚函数,支持多态。
friend声明友元,允许非成员函数访问私有和保护成员。
explicit显式构造函数,防止隐式转换。
new动态分配内存。
delete释放动态分配的内存。
operator重载运算符。
sizeof计算对象或类型的字节大小。
typename声明类型名称,特别是在模板中使用。
异常处理关键字try用于捕获异常。
catch用于处理异常。
throw用于抛出异常。
其他关键字namespace定义命名空间,用于组织代码,避免命名冲突。
using引入命名空间或类型别名。
inline建议编译器内联函数,减少函数调用开销。
const声明常量或常量成员函数。
volatile指示变量可能会被程序外因素修改,防止编译器优化。
enum定义枚举类型。
typedef为现有类型定义新的名称。
template定义模板,用于泛型编程。
constexpr用于在编译时计算常量表达式。
nullptr空指针常量,取代旧的NULL
dynamic_cast用于安全地将基类指针转换为派生类指针。
static_cast用于执行显式转换。
reinterpret_cast用于重新解释类型的比特模式。
const_cast用于移除constvolatile属性。
typeid用于在运行时获取对象的类型信息。
export用于模板导出,C++20之前被弃用,现已被删除。
import用于模块导入,C++20引入。

2. 控制语句关键字

if:条件语句,用于根据条件表达式的结果执行代码块。

if (condition) {    // code to execute if condition is true}

else:与if配合使用,用于条件为假时执行代码块。

if (condition) {    // code if condition is true} else {    // code if condition is false}

switch:用于根据一个变量的值执行不同的代码块。

switch (variable) {    case value1:        // code for value1        break;    case value2:        // code for value2        break;    default:        // default code}

case:在switch语句中用于匹配变量的值。

switch (variable) {    case value:        // code for case value        break;}

default:在switch语句中用于处理所有未匹配的情况。

switch (variable) {    default:        // default code}

for:循环语句,用于执行代码块多次,通常用于已知次数的循环。

for (int i = 0; i < 10; i++) {    // code to execute}

while:循环语句,用于根据条件表达式重复执行代码块。

while (condition) {    // code to execute}

do:与while配合使用,先执行代码块,再检查条件表达式。

do {    // code to execute} while (condition);

break:终止循环或switch语句,并跳出语句块。

for (int i = 0; i < 10; i++) {    if (i == 5) {        break;    }}

continue:跳过当前循环迭代,继续下一次迭代。

continue:跳过当前循环迭代,继续下一次迭代。

goto:无条件跳转到标记位置,不推荐使用,因为会使代码难以维护。

goto label;// codelabel:// code to execute after jump

return:用于从函数中返回值,并终止函数执行。

int function() {    return value;}

3. 数据类型关键字

int:整数类型。

int number = 10;

float:单精度浮点数类型。

float number = 3.14;

double:双精度浮点数类型。

double number = 3.1415926535;

char:字符类型。

char letter = 'A';

void:无类型,常用于函数无返回值。

void function() {    // code}

bool:布尔类型,表示真或假。

bool isTrue = true;

short:短整数类型,通常为16位。

short number = 32767;

long:长整数类型,通常为32位或更长。

long number = 2147483647;

signed:有符号类型修饰符。

signed int number = -10;

unsigned:无符号类型修饰符。

unsigned int number = 10;

wchar_t:宽字符类型,通常用于Unicode字符。

wchar_t wideChar = L'A';

4. 存储类型关键字

auto:自动类型推断,C++11 引入。

auto number = 10; // 编译器推断number为int类型

register:建议将变量存储在寄存器中,实际使用由编译器决定。

register int number = 10;

static:指定变量在其作用域内保持其值和生命周期。

static int count = 0;

extern:声明变量或函数在另一个文件中定义。

extern int number;

mutable:允许常量成员在const成员函数中被修改。

class MyClass {    mutable int var;public:    void modify() const {        var = 10;    }};

thread_local:声明线程局部存储变量,每个线程有其独立实例。

thread_local int number = 10;

5. 类和对象相关关键字

class:定义类。

class MyClass {    int var;public:    void method();};

struct:定义结构体,默认访问权限为公有。

struct MyStruct {    int var;};

union:定义共用体。

union MyUnion {    int intVar;    float floatVar;};

this:指针,指向调用对象自身。

class MyClass {    int var;public:    void setVar(int var) {        this->var = var;    }};

public:访问权限,公有成员。

class MyClass {public:    int var;};

private:访问权限,私有成员。

class MyClass {private:    int var;};

protected:访问权限,受保护成员。

class MyClass {protected:    int var;};

virtual:声明虚函数,支持多态。

class Base {public:    virtual void display();};

friend:声明友元,允许非成员函数访问私有和保护成员。

class MyClass {    friend void myFriendFunction(MyClass &obj);private:    int var;};

explicit:显式构造函数,防止隐式转换。

class MyClass {public:    explicit MyClass(int var);};

new:动态分配内存。

int* ptr = new int;

delete:释放动态分配的内存。

delete ptr;

operator:重载运算符。

class MyClass {public:    MyClass operator+(const MyClass &obj);};

sizeof:计算对象或类型的字节大小。

int size = sizeof(int);

typename:声明类型名称,特别是在模板中使用。

template <typename T>class MyClass {    T var;};

6. 异常处理关键字

try:用于捕获异常。

try {    // code that may throw an exception 可能抛出异常的代码}

catch:用于处理异常。

try {    // code that may throw an exception 可能抛出异常的代码} catch (const std::exception &e) {    // code to handle the exception  处理异常的代码} 

throw:用于抛出异常。

throw std::runtime_error("Error occurred");

7. 其他关键字

namespace:定义命名空间,用于组织代码,避免命名冲突。

namespace MyNamespace {    int var;}

using:引入命名空间或类型别名。

using namespace MyNamespace;using MyAlias = MyClass;

inline:建议编译器内联函数,减少函数调用开销。

inline void myFunction() {    // code}

const:声明常量或常量成员函数。

const int var = 10;void myFunction() const;

volatile:指示变量可能会被程序外因素修改,防止编译器优化。

volatile int var;

enum:定义枚举类型。

enum Color { RED, GREEN, BLUE };

typedef:为现有类型定义新的名称。

typedef int myInt;

template:定义模板,用于泛型编程。

template <typename T>class MyClass {    T var;};

constexpr:用于在编译时计算常量表达式。

constexpr int square(int x) {    return x * x;}

nullptr:空指针常量,取代旧的NULL

int* ptr = nullptr;

dynamic_cast:用于安全地将基类指针转换为派生类指针。

Derived* d = dynamic_cast<Derived*>(basePtr);

static_cast:用于执行显式转换。

int i = static_cast<int>(3.14);

reinterpret_cast:用于重新解释类型的比特模式。

int* p = reinterpret_cast<int*>(ptr);

const_cast:用于移除constvolatile属性。

const int* ptr = &value;int* modifiablePtr = const_cast<int*>(ptr);

typeid:用于在运行时获取对象的类型信息。

typeid(obj).name();

import:用于模块导入,C++20引入。

import module_name;

 

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/159467.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1