我是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;
}
}
答案 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() {
// ...
}