在C++中,structure和class几乎是完全相同的,区别在于structure默认是public,而class默认是private
namespace则与上面两种完全不同,namespace仅仅是一块有名字的逻辑区域,其内部有变量和函数等
namespace
namepace的作用是避免程序中的命名冲突,传统的C++程序是只有一个namespace,现在的程序越来越复杂,为了防止程序员在合并不同程序时出现函数、类、结构体等命名的重复,所以用到命名空间。
名字空间包含类、函数、常量和模板声明等名字空间成员。例如
namespace MyUnderstand
{
class info {
int number;
string name;
public:
void FristInstance (char *msg);
void SecondInstance(int Num);
};
}
namespace是开放的,和class不同的是你可以在多个文件里面面向同一个namespace里面添加东西。比如stl里面的东西都是在名字空间std里面,但是却定义在了多个文件里面。
class
class做名字空间时,与namespace形式上类似,但namespace是开发的,可以追加内容,而class的定义是一次性的