如何创建函数原型名称空间

时间:2019-06-07 23:27:47

标签: c++

我是cpp的新手,我只是想知道,如何在名称空间的主循环上方添加函数原型,如果这不是我所说的正确术语,对不起。但是基本上,我想定义或声明名称空间,就像在主循环上方使用函数一样,以便将其加载到内存中并可以调用。我知道在主cpp上有一个命名空间可能是不正常的,因此通常您可以只包含头文件,这样做就可以了,但是我只是在搞乱而且很好奇。

基本上就是这个

void foo(); // declaring so that the function is loaded in to memory to be used

int main(){

    void foo(); 
}

void foo(){  
    do something;
}  

,但是带有名称空间,而不是foo();会是

namespace fly {

void helicopter() {
    do something;
}

}

1 个答案:

答案 0 :(得分:5)

命名空间不是问题。它们在内存中不存在,您无法调用它们。命名空间仅用于限定其他事物的名称。这样,您可以随意打开和关闭一个命名空间多次,但是不能声明一个。那什么也没做。

如果要在名称空间中分隔 function 的声明和定义,那很好。重新打开定义的名称空间:

namespace fly {
    void helicopter();
}

int main() {
    fly::helicopter();
}

namespace fly {
    void helicopter() {
        // ...
    }
}

或在定义函数名称时完全限定其名称:

namespace fly {
    void helicopter();
}

int main() {
    fly::helicopter();
}

void fly::helicopter() {
    // ...
}