STL容器typedef命名规范

STL广泛用于C++程序,其中容器提供各种可选数据结构,极大方便了功能实现。在使用容器时,最好不要直接用诸如vector<Base> m_vecB;的方式,而应该先typedef一种类型出来,(切忌过度typedef容器的iterator,增加阅读负担)具体原因可参见《Effective STL》第二条。 建议typedef 命名后缀为,如XxxVec,XxxList,XxxMap等。切忌什么纯大写+下划线,看起来就恶心.也不要什么容器都用list来typedef。
### C++ 中 `typedef` 的用法和类型定义 在 C++ 编程语言中,`typedef` 关键字用于创建类型的同义词。这不仅简化了复杂类型的声明过程,还提高了代码的可读性和维护性。 #### 使用 `typedef` 定义简单数据类型 通过 `typedef` 可以为基本的数据类型指定一个新的名称: ```cpp // 将 int 类型命名为 Integer typedef int Integer; Integer value = 10; // 这里的 Integer 实际上就是 int 类型 ``` 此方法同样适用于其他内置类型以及自定义结构体或类[^1]。 #### 结合指针使用 `typedef` 当涉及到指针时,`typedef` 能够显著减少冗余并使意图更加清晰: ```cpp // 创建指向 char* 的别名 StringPtr typedef const char* StringPtr; StringPtr message = "Hello world!"; void printMessage(StringPtr msg); ``` 上述例子展示了如何利用 `typedef` 来处理字符串常量指针的情况。 #### 应用于函数指针 对于复杂的函数签名而言,`typedef` 提供了一种简洁的方式来表示它们: ```cpp // 声明返回 double 并接受两个 double 参数的函数指针类型 Operation typedef double (*Operation)(double, double); double add(double a, double b) { return a + b; } Operation opAdd = &add; ``` 这里定义了一个名为 `Operation` 的新类型来代表特定形式的二元运算符函数指针。 #### 泛化容器中的元素类型 考虑到模板支持多种不同种类的对象存储需求,在 STL 容器里经常可以看到类似的模式: ```cpp #include <vector> using namespace std; // 自定义 vector<int> 别名为 IntVector typedef vector<int> IntVector; IntVector numbers{1, 2, 3}; for(auto& num : numbers){ cout << num << endl; } ``` 这段代码片段说明了怎样借助 `typedef` 给标准库容器设置更易理解的名字。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值