C++关键字(入门)

这篇博客介绍了C++的关键字,包括C++98的63个关键字如`cout`、`cin`、`namespace`、`auto`和`bool`等,以及C++11新增的10个关键字,强调了它们的作用和用法,如`inline`用于内联函数,`try`和`catch`处理异常,`class`声明类,`operator`重载运算符,`using`引用和`virtual`实现多态。

C++常见关键字

C++关键字简单介绍

C++98----63个关键字
在此选择平时比较常用的关键字解释
  • cout/cin/cerr
  1. 标准输入cin,通过键盘输入进程序中
  2. 标准输出cout,将程序运行结果通过显示器输出
  3. 标准错误cerr,将程序运行中的错误通过显示器输出
int a = 10;
cin>>a;
cout<<a;
cerr<<"func";
  • endl(换行)
    将输出到显示器上的文字进行回车换行
int a = 10;
cout<< a <<endl;//endl 为回车换行
  • namespace(命名空间)
  1. 如果项目工程足够大,对于变量的命名以及对于函数的命名重复型就会提升,为了防止出现命名冲突,提出命名空间概念
  2. 方便用户进行操作,提高了代码的可读性
  3. 书写方式
namespace N1//N1命名空间
{
	int _a = 100;
	void Func()
	{
		cout << "..." << endl;
	}
}

namespace N2//N2命名空间
{
	int _a = 10;
	void Func()
	{
		cout << "123" << endl;
	}
}


int main()
{
	N1::_a;//外界访问时,需要加上空间名称::
	N2::Func();//访问互不干扰
}
  • auto(静态类型推导)
    主要作用为静态类型推导
	int a = 10;
	auto b = a;//将b的类型定为auto,duib进行类型推导
	//这对于STL容器中的迭代器,模板类的进行类型推导有这个很大的帮助
  • inline(内联函数)
  1. 与C语言中的宏定义很相似,并且解决了了C中宏定义(直接代替代码的缺点)
  2. 如果内联函数中存在递归、循环、内容较常则编译器在编译时会将其视为函数处理
  3. 没有函数压栈开销
  4. 书写方式
inline void Func(){
	<code...>
}
  • bool(数据类型)
  1. C语言中不存在true/false的判断,所以在C++中增加了该类型的判断
  2. 可以声明函数返回值为bool类型,也可以声明变量为bool类型
  3. 书写方式
bool Func()//定义函数bool类型
{
	bool a = 1, b = 0;//定义变量bool类型
	return a&b;//返回true or false
}
  • try / catch
  1. 捕捉代码中存在的异常
  2. 书写方式
void func1()
{
	throw b; // 抛异常
}
	<other code ...>
	try //捕获异常
	{
		func1();
	}
	catch (...)//(...)内容为捕获方式,and 处理异常
	{
		func2();//处理异常函数
	}
  • class(类声明)
  1. 声明类的方法,与声明结构体方式类似
  2. C++中可以在类中定义变量及方法
  3. 书写方式
class Class//类名称
{
public://外界访问权限
	void func()//成员方法
	{
		cout << "..." << endl;
	}

private://访问权限
	int _a;//成员变量
	char _b;
	static int c;
};
  • operator(重载操作符)
  1. 是C++针对于用户自定义类型的对象或者变量进行自定义运算的一种方式(如:日期之间的加减等),扩展了运算功能
  2. 可进行输入输出操作符的重载,方便了用户操作等
  3. 书写方式
//类内进行日期的加法
class Date
{
	void operator+(Date& d)//运算符重载函数
	{
		_year += d._year;
		_month += d._month;
		_day += d._day;
	}
private:
	int _year;
	int _month;
	int _day;
};
  • using(引用)
  1. 命名空间引用
using namespace std;//使用标准命名空间
  1. 在子类中引用基类成员
class B
{
public:
	int _a = 10;
};
class D
{
public:
	using B::_a;//引用B中的_a
};
  1. 对变量进行别名指定(C++11)
using a = b;
  • virtual(虚拟)
  1. 一般使用在多态中进行虚函数继承派生,,此处不做详细解释~
  • friend(友元)
  1. 一般使用在类与类之间,或者类内与类外函数之间,建立友元关系,可以在类外函数或者其他类中访问友元类的成员函数和变量
C++11----73个关键字

新增关键字

关键字作用
alignas用于声明时指定对齐类似于现有的类型。和sizeof类似,两者的操作数都不被求值
alignof获取指定表达式的sizeof的对齐
constexpr类似const但更强大,修饰函数或对象,表示函数结果或对象是编译时决定的常量,以便优化
char16_t/char32_t二者分别表示16位字符型和32位字符型,类似char和wchar_t,也是一般只专用于表示字符的整数类型,且设计上用于表示Unicode字符
decltype用于编译时推断类型。此外参与函数声明的另一种语法:指定返回auto,比auto作用更强大
nullptr空指针常量,相当于C语言中的NULL,具有比C语言NULL更为方便的作用
noexcept静态异常规范,只指定函数(模版)是否有异常抛出
static_assert用于编译时的静态断言,如果指定的表达式为false,则直接编译失败
auto(C++11增加用法)C++11新增了auto的作用,在C++11中auto会使编译器静态判断其应有的类型
thread_local新增加的,标准线程库
for(C++11增加用法)新增了ranged-based for循环,用:分隔声明的对象和指定循环的范围
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值