我可以避免在前向声明中使用嵌套名称空间吗?
Can I avoid nested namespaces in forward declaration?
截至 2018 年 1 月,最现代的前向声明方式是什么?我们使用类似下面的东西,但是有更紧凑的版本吗?
我可以写类似 class Foo::Bar
的东西吗(对我不起作用,但也许我错过了更新的 C++ 标准)?或者更紧凑的版本?
当前样式:
namespace Foo
{
class SimpleCommandParser;
namespace Bar
{
class Parts;
class Situation;
class Callsign;
}
namespace Yep
{
class AircraftSnapshot;
class Aircraft;
}
}
有一些关于 Forward Declaration in a nested namespace 等类似主题的问题,但它们已经很老了。
截至 2018 年 1 月,名称在命名空间中的前向声明仍然与第一版标准相同,即声明必须在该命名空间内。
Could I write something like class Foo::Bar
不在当前 (C++17) 标准中。
已经有人提议 P0289R0 添加这样的功能,但它没有被遵循,并且这样的变化还没有被引入到 C++17 的标准中。
截至 2018 年 1 月,最现代的前向声明方式是什么?我们使用类似下面的东西,但是有更紧凑的版本吗?
我可以写类似 class Foo::Bar
的东西吗(对我不起作用,但也许我错过了更新的 C++ 标准)?或者更紧凑的版本?
当前样式:
namespace Foo
{
class SimpleCommandParser;
namespace Bar
{
class Parts;
class Situation;
class Callsign;
}
namespace Yep
{
class AircraftSnapshot;
class Aircraft;
}
}
有一些关于 Forward Declaration in a nested namespace 等类似主题的问题,但它们已经很老了。
截至 2018 年 1 月,名称在命名空间中的前向声明仍然与第一版标准相同,即声明必须在该命名空间内。
Could I write something like
class Foo::Bar
不在当前 (C++17) 标准中。
已经有人提议 P0289R0 添加这样的功能,但它没有被遵循,并且这样的变化还没有被引入到 C++17 的标准中。