typedef和#define 介绍和使用
来源:互联网 发布:福州广电网络 编辑:程序博客网 时间:2024/05/23 12:13
typedef和#define
本文主要包含如下内容:
- typedef和define
- typedef关键字
- define
typedef关键字
typedef,顾名思义,为“类型定义”,可以解释为:将一种数据类型定义为某一个标识符,在程序中使用该标识符来实现相应数据类型变量的定义。在实际编写代码过程使用typedef往往是为了增加代码的可读性。它可以为一串很长的类型名起一个别名,那么使用这个别名可以达到与原类型名相同的效果。
ex:
typedef int INT;
则INT表示整型
typedef int* INTPTR;
则INTPTR是一个指向整型变量的指针类型
定义结构体类型
typedef struct {int x; int y;} Point; Point var_1; // 定义了变量var_1 Point array_1 [10]; // 定义了数组array_1 struct {Point part1; int part2;} cplx; // 定义了复杂类型变量cplx
定义数组类型
typedef int MyIntArray [100]; MyIntArray ia;
相当于:
int ia[100];
定义函数指针
typedef void (*FUNCADDR)(int)
此处FUNCADDR是指向这样一个函数的指针,该函数的返回值为void类型,函数有一个int型的参数。
定义类类型
typedef class { private: int a; public: int b; } MyClass;
#define
应尽量减少#define
的使用,即宁可以编译器替换预处理器。
对于单纯常量,最好以const对象或enums替换#define。
对于形似函数的宏,最好改用inline函数替换#define。
用const替换:
const char* const authorName = "Scott Meyers";const std::dtring authorName("Scott Meyers");class GamePlayer{ private: static const int NumTurns = 5; int scores(NumTurns);}
用enum替换:
class GamePlayer{ private: enum { NumTurns = 5 }; int scores(NumTurns);}
用inline替换:
template <typename T>inline void callWithMax(const T& a, const T& b){ f(a > b ? a : b);}
阅读全文
0 0
- typedef和#define 介绍和使用
- #define和typedef的使用误区
- typedef和#define
- typedef 和 define
- #define和typedef
- #define和typedef比较
- 关于#define和typedef
- typedef和#define
- define和typedef + tips
- #define和typedef区别
- #define和typedef(转载)
- define和typedef区别
- #define和typedef区别
- define const 和 typedef
- #define和typedef
- typedef和#define
- Define 和typedef
- typedef 和 #define
- Junit简单使用方法
- Presto-[7]-Presto Security
- 蒂高卫浴-数夫F19家具ERP项目是送给企业10周年庆最好的礼物
- Java7的Zip工具类:Zip File System Provider
- Linux mysql安装
- typedef和#define 介绍和使用
- Linux下安装比特币矿池p2pool笔记
- Javap框架
- 高精度加法
- iPhoneX的启动图如何配置
- 驼峰命名法与数据库下划线命名的字符串快速转化,方便操作数据
- synchronizing script resources with Tern server
- loj117 有源汇有上下界最小流
- laravel 验证码