using 和typedef
时间: 2023-10-15 07:31:13 浏览: 102
using和typedef在给类型起别名方面有相似的作用,但它们有一些不同之处。using是C++11引入的关键字,更加灵活和易读。它可以替代typedef的用法,并提供更多的功能和特性。
使用using关键字可以定义类型别名的方式更加直观和清晰,语法也更加简洁。与typedef不同,using可以用于模板的别名定义,并支持模板参数的传递。
下面是一个使用typedef给模板取别名的例子:
typedef vector<T> typedef_vector;
而使用using关键字可以这样写:
template<class T>
using typedef_vector = vector<T>;
上述两种方式的效果是相同的,都是将vector<T>定义为typedef_vector的别名。
总之,使用using关键字相比于typedef有以下优势:
1. 更加直观和清晰的语法
2. 更加灵活,可以用于模板的别名定义
3. 支持模板参数的传递,提供更多的功能和特性。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [using与typedef的区别](https://blog.csdn.net/qq_43706793/article/details/128903741)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [17.C++类型别名之typedef 与 using](https://blog.csdn.net/lx_ros/article/details/131739784)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文