1.using的基本用法
- 命名空间声明,或将命名空间名字导入到当前命名空间或作用域。
void fun(){
using std::string;//导入名字到函数作用域
string s("sss");
}
#include <iostream>
using std::string;//导入名字到文件作用域
#include <iostream>
using namespace std;//导入命名空间到文件作用域
- 将基类成员引入到子类,这部分我也没这么用过,直接上官网说明吧。
using 声明将基类成员引入到派生类的定义中,例如将基类的受保护成员暴露为派生类的公开成员。此情况下 嵌套名说明符 必须指名所定义的类的某个基类。若其名字是该基类的某个重载的成员函数的名字,则具有该名字的所有基类成员函数均被引入。若派生类已有具有相同名字、形参列表和限定的成员,则派生类成员隐藏或覆盖从基类引入的成员(不与之冲突)。
#include <iostream>
struct B {
virtual void f(int) {
std::cout << "B::f\n"; }
void g(char) {
std::cout << "B::g\n"; }
void h(int) {
std::cout << "B::h\n"; }
protected:
int m; // B::m 为受保护
typedef int value_type;
};
struct D :</