命名空间,内联函数,强制类型转换

本文介绍了C++中的命名空间,包括标准命名空间、自定义命名空间以及嵌套命名空间,强调了其在团队合作开发中的作用。接着探讨了内联函数,作为牺牲空间换取时间的优化手段,以及何时适合使用内联函数。最后,文章详细阐述了C++中的四种强制类型转换:static_cast、reinterpret_cast、const_cast和dynamic_cast,以及它们各自的应用场景和注意事项。
摘要由CSDN通过智能技术生成

目录

命名空间

标准命名空间

自定义命名空间

命名空间也可以嵌套命名空间.

内联函数

C++中的强制类型转换

static_cast

reinterpret_cast

const_cast

dynamic_cast(转换失败的时候会返回null(在C++中他就是个0))


命名空间

昨天睡觉时,突然想起来命名空间还没有说.其实命名空间就是为了防止命名冲突.

经常是用的 using namespace std;

using 使用 namesapce 名空间 std(standard) 标准的缩写

使用标准命名空间,C++所有标准的东西都在这里面.

标准命名空间

#include <iostream>

#if 0
using namespace std;

int main()
{
	//使用using namespace std;
	cout << "hello world" << endl;

	return 0;
}
#endif

#if 0
int main()
{
	//bu使用using namespace std 可以std::指定 :: 这个叫作用域运算符
	std::cout << "hello world" << std::endl;

	return 0;
}
#endif

//也可以这样使用
using std::endl;
using std::cout;

int main()
{
	//使用using namespace std;
	cout << "hello world" << endl;

	return 0;
}

自定义命名空间

#include <iostream>

using namespace std;

namespace one_namespace
{
	void func()
	{
		cout << "one_namespace" << endl;
	}
	int num = 10;
}

namespace two_namespace
{
	void func()
	{
		cout << "two_namespace" << endl;
	}
	int num = 20;
}

#if 0
int main()
{
	cout << one_namespace::num << endl;	//10
	one_namespace::func();	//cout << "one_namespace" << endl;

	cout << two_namespace::num << endl;	//20
	two_namespace::func();	//cout << "two_namespace" << endl;

	return 0;
}
#endif

#if 0
//也可以如标准命名空间那样使用
using one_namespace::func;
using one_namespace::num;

int main()
{
	cout << num << endl;	//10
	func();	//cout << "one_namespace" << endl;

	cout << two_namespace::num << endl;	//20
	two_namespace::func();	//cout << "two_namespace" << endl;

	return 0;
}
#endif

using namespace two_namespace;

int main()
{
	cout << 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值