C++
C++11
using
1.相比与typedef,using在定义函数指针时更加直观
using func_ptr1 = int(*)(int, double);
2.using可以为模板起别名
template <typename T>
using mymap = map<int, T>;
3.使用 using 来引入整个命名空间或某个特定的名字,可以简化代码书写
using namespace std;
4.using和typedef一样可以来创建类型别名
using uint_t = int;
来源
点击查看代码
大丙:
https://subingwen.cn/cpp/using/#1-%E5%AE%9A%E4%B9%89%E5%88%AB%E5%90%8D
GTP:
`using` 是 C++ 中一个非常有用的关键字,主要有以下几种用法:
### 1. 引入命名空间
在 C++ 中,你可以使用 `using` 来引入整个命名空间或某个特定的名字,以简化代码书写。
```cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl; // 不需要 std::
return 0;
}
2. 声明类型别名
using
可以用来创建类型别名,类似于 typedef
。
using IntPtr = int*;
IntPtr p = nullptr; // p 是一个指向 int 的指针
3. 引入特定名称
你也可以只引入命名空间中的某个特定名字,这样就不需要每次都加上命名空间前缀。
#include <iostream>
using std::cout;
using std::endl;
int main() {
cout << "Hello, World!" << endl; // 使用了 cout 和 endl,而不是 std::cout 和 std::endl
return 0;
}
4. 在模板中使用
在模板中,using
关键字用于定义类型的别名,特别是在泛型编程中。
template<typename T>
using Vec = std::vector<T>;
Vec<int> v; // v 是一个 vector<int>
5. 在类中使用
在类中,可以使用 using
来导入基类的成员。
class Base {
public:
void func() {}
};
class Derived : public Base {
public:
using Base::func; // 导入 Base 类中的 func 方法
};
int main() {
Derived d;
d.func(); // 可以调用 Base 类中的 func
return 0;
}
小结
using
是一个非常灵活的关键字,可以提高代码的可读性和简洁性。熟练使用这一特性能帮助开发者更高效地编写 C++ 代码。
</details>