C++学习总结(八)——C++类型装换,inline内联函数

本文介绍了C++中的四种类型转换方法:static_cast、const_cast、reinterpret_cast和dynamic_cast,并探讨了它们的应用场景。此外,还讲解了内联函数的概念、优势及使用限制。

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

一.C++类型转换

1.static_cast<目标类型>(转换数据) 用于一般数据类型转换。

2.常量不能修改,const int num=10; 可以修改不生效,直接从常量表中读取,通过const_cast<>()去掉常量属性。

3.指针进行数据类型转换,类型决定了数据解析方式。地址与指针间转换。reinterpret_cast<char *>(转换数据的引用地址)。

4.类的指针的转换,dynamic_cast<>()类的指针之间的转换。

二.inline内联函数

inline内联函数的作用:1.提升效率相当于define 2.类型会严格检查 3.实现模板通用 4.在函数内部展开 5.明确了内联函数无法取地址。

内联函数的限制:1.不能有递归 2.不能有静态数据 3.不包含循环 4.不包含switch和goto语句 5.不包含数据 

不满足以上条件则编译器把它当做普通函数。

#include<stdlib.h>
#include<iostream>
#define GETX3(N) N*N*N
inline int getx3(int x);//内联函数内部展开
inline int getx3(int x)//类型安全
{
	return x*x*x;
}
template<class T>	//通用模板
inline T getx2(T x)
{
	return x*x;
}

void main()
{
	std::cout << GETX3((1 + 2)) << std::endl;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值