C++ 使用「;使用;关键字作为伪预处理器

C++ 使用「;使用;关键字作为伪预处理器,c++,c-preprocessor,using,C++,C Preprocessor,Using,我最近遇到: using vi = vector<int>; using mvi = map<vi, int>; 使用vi=vector; 使用mvi=map; 它是否等同于#定义?使用此表单是否正确?此特定表单具有与typedef相同的功能。有关使用关键字的的详细说明,请参阅本文: 此外,它与定义不同。这是一个预处理器宏。此特定表单具有与typedef相同的功能。有关使用关键字的的详细说明,请参阅本文: 此外,它与定义不同。这是一个预处理器宏。不,它不是“等同于#定

我最近遇到:

using vi = vector<int>;
using mvi = map<vi, int>;
使用vi=vector;
使用mvi=map;

它是否等同于#定义?使用此表单是否正确?

此特定表单具有与
typedef
相同的功能。有关使用关键字的
的详细说明,请参阅本文:


此外,它与定义不同。这是一个预处理器宏。

此特定表单具有与
typedef
相同的功能。有关使用
关键字的
的详细说明,请参阅本文:


此外,它与定义不同。这是一个预处理器宏。

不,它不是“等同于#定义”。这是正确的C++语法,因此,在这个意义上,使用它是“正确的”。它实际上是一个替代代码< TyPulf,但更灵活。考虑这个更复杂的版本:<代码>模板,使用v=vector;<代码>否,它不是“等同于#定义”。这是正确的C++语法,因此,在这个意义上,使用它是“正确的”。它实际上是一个替代代码< TyPulf,但更灵活。考虑这个更复杂的版本:<代码>模板,使用v=vector;<代码>