【发布时间】:2021-12-23 13:29:11
【问题描述】:
有没有在不导入模块的情况下使用导出的类/函数?考虑这个例子:
System.ixx
export module System;
export class String {...};
System2.ixx
export module System2;
export class String {...};
有没有像System::String 或System2::String 一样使用它?显然,当我导入这两个模块时,我得到一个编译器错误。
【问题讨论】:
-
使用
namespaces. -
@Fureeish 哦,太糟糕了。我希望模块更像 Rust 的模块,并消除使用
namespace的需要。 -
如果有 2 个不同的库导出同名函数怎么办?你无法控制它。
-
"如果有 2 个不同的库导出同名函数怎么办?" - 这就是
namespaces 的用途。过去你会为你的库引入一个命名空间,现在你也引入它。 -
在这种情况下 - 是的。在可见性、编译策略(和性能)和封装方面——不,它们优于
#includes。
标签: c++ visual-c++ c++20