c++ - 是否可以在实现文件中使用命名空间或等效项来避免在每个函数前加上类名?

标签 c++ c++11

如果我有课:

class Foo{

public:

void someFunc():

}

然后在实现中我需要做的是:

void Foo::someFunc(){
//My implementation.
}

有什么方法可以避免在每个函数前加上 Foo:: 前缀,方法是使用命名空间或其他东西? (只是为了节省打字……没有其他原因)。

编辑:我不明白为什么这会被否决。如果有一个 C++ 功能来构造代码,这样我们就不必输入那么多,那么它实际上值得了解 - 类似于使用“Using”关键字,这样我们就不必重复为命名空间添加前缀......

编辑:@PeteBecker 输入更少通常更易于维护(需要维护的代码更少)——这就是为什么我们将代码组织成允许我们共享和重用代码的结构。正确性不一定与打字有关——但你打字的时间越少,你就有更多的时间专注于想法或产品,以及你的代码是否“正确”。每次引用对象时都为命名空间或类名添加前缀,不会使您的代码或多或少地变得正确,而只会花费时间,没有理由浪费时间做不必要的事情。这就是为什么我们对命名空间使用“using”关键字,这样我们就不必每次都键入命名空间(我之前提到过)。所以就像我们有一个“using”关键字用于命名空间一样,我在问是否有一种方法可以为类做到这一点。

最佳答案

仅当您将实现直接放在头文件中时。

关于c++ - 是否可以在实现文件中使用命名空间或等效项来避免在每个函数前加上类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39443164/

相关文章:

c++ - 根据类成员对同一键的多映射元素进行排序?

c++ - CPP : avoiding macro expansion of a macro function parameter

c++ - 在为 Windows 和 Linux 编写的程序中是否有必要处理长数据类型?

c++ - 在排序的静态数组中搜索的最快方法

linux - 减少 C++ 的执行时间

c++ - gcc 4.6 和 4.7 之间的默认构造函数差异

c++11 - 优于 O(n!) 无序元组比较算法

c++ - 连接两个 time_t 值的日期和时间

c++ - 如何将不同的专用模板类存储在同一个成员变量中?

c++ - 了解弱引用计数器