【C++】 --- using用法总结

简介: 【C++】 --- using用法总结

1. 配合命名空间,对命名空间进行权限管理

using namespace std;//释放整个命名空间到当前作用域
using std::cout;    //释放某个变量到当前作用域
• 1
• 2

2. 类型重命名

作用等同于typedef

typedef   std::vector<int> intvec;
using       intvec  = std::vector<int>; //这两个写法是等价的

再来看一个函数指针的例子

typedef void (*FP) (int, const std::string&);
using FP = void (*) (int, const std::string&);

3. 继承中,在子类引用基类成员

有这样一种应用场景,比如我们需要私有继承一个基类,然后又想将基类中的某些public接口在子类对象实例化后对外开放直接使用。如下即可

class Base 
{
protected:
    void test1() { cout << "test1" << endl; }
    void test1(int a) {cout << "test2" << endl; }
    int value = 55;
};
class Derived : private Base  //使用默认继承
{
public:
    //using Base::test1;  //using只是声明,不参与形参的指定
    //using Base::value;
    void test2() { cout << "value is " << value << endl; }
};

private继承子类中是无法访问基类成员的,即test2会编译出错。但是如果我们把上面注释的声明给放开,则没有问题。

参看链接:

https://blog.csdn.net/weixin_39640298/article/details/84641726

https://www.cnblogs.com/wangkeqin/p/9339862.html

目录
相关文章
|
2月前
|
存储 算法 编译器
【C++ TypeName用法 】掌握C++中的TypeName:模板编程的瑞士军刀
【C++ TypeName用法 】掌握C++中的TypeName:模板编程的瑞士军刀
238 0
|
2月前
|
存储 JSON 算法
C++ JSON库 nlohmann::basic_json::boolean_t 的用法
C++ JSON库 nlohmann::basic_json::boolean_t 的用法
35 0
|
23天前
|
人工智能 机器人 测试技术
【C++】static_cast基本用法(详细讲解)
【C++】static_cast基本用法(详细讲解)
|
2月前
|
存储 缓存 安全
【C/C++ 关键字 存储类说明符 】 线程局部变量的魔法:C++ 中 thread_local的用法
【C/C++ 关键字 存储类说明符 】 线程局部变量的魔法:C++ 中 thread_local的用法
34 0
|
15天前
|
C++
C++ 默认参数与引用传递:语法、用法及示例
C++ 允许函数参数具有默认值,简化调用。例如,`void myFunction(string country = &quot;Norway&quot;)` 中`country`默认为&quot;Norway&quot;。默认参数仅适用于函数参数,不包括返回值。引用传递是另一种传递方式,函数直接访问变量内存,允许修改原值,提高效率。`void swapNums(int &x, int &y)` 中`x`和`y`为引用参数。了解这些特性可提升代码可读性和性能。
44 0
|
23天前
|
人工智能 安全 机器人
【C++】dynamic_cast基本用法(详细讲解)
【C++】dynamic_cast基本用法(详细讲解)
|
23天前
|
人工智能 安全 机器人
【C++】const_cast基本用法(详细讲解)
【C++】const_cast基本用法(详细讲解)
|
28天前
|
人工智能 机器人 中间件
【C++】C++回调函数基本用法(详细讲解)
【C++】C++回调函数基本用法(详细讲解)
|
2月前
|
算法 安全 编译器
【C++ 17 新特性 折叠表达式 fold expressions】理解学习 C++ 17 折叠表达式 的用法
【C++ 17 新特性 折叠表达式 fold expressions】理解学习 C++ 17 折叠表达式 的用法
25 1
|
2月前
|
算法 安全 Unix
【C++ 20 信号量 】C++ 线程同步新特性 C++ 20 std::counting_semaphore 信号量的用法 控制对共享资源的并发访问
【C++ 20 信号量 】C++ 线程同步新特性 C++ 20 std::counting_semaphore 信号量的用法 控制对共享资源的并发访问
33 0