命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突;
如解决问题:【异常】间接寻址级别不同
C++中,命名空间使用namespace来声明,并使用{ }来界定命名空间的作用域,例如:
namespace func{
int age=18;
}
标准命名空间
C++中标准命名空间std,std 是 standard 的缩写,意思是“标准命名空间”;C++标准库中的函数或者对象都是在命名空间std中定义的;
Qt中有自带namespace:新建一个带窗体的项目都可以看到;
namespace Ui { class MainWindow; }
使用命名空间
1、在程序头部引用命名空间,如:
using namespace std;
2、在引用变量或方法时加上命名空间,如:
SpaceA::ToolA::Func1();
Qt自定义命名空间
1、使用namespace 及{ }来界定命名空间的作用域;
2、编写变量方法;
3、引用时使用 using namespace xxx 引用此命名空间;
示例如下:
ToolA.h
#ifndef TOOLA_H
#define TOOLA_H
#include
namespace SpaceA {
class ToolA : public QObject
{
Q_OBJECT
public:
explicit ToolA(QObject *parent = nullptr);
static void Func1();
static void Func2();
static void Func3();
static void Func4();
};//class
}//namespace
#endif // TOOLA_H
ToolA.cpp
#include “toola.h”
#include
namespace SpaceA {
ToolA::ToolA(QObject *parent) : QObject(parent)
{
}//class
void ToolA::Func1()
{
qDebug() << “ToolA Func1”;
}
void ToolA::Func2()
{
qDebug() << “ToolA Func2”;
}
void ToolA::Func3()
{
qDebug() << “ToolA Func3”;
}
void ToolA::Func4()
Java核心架构进阶知识点
面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的
内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补
被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的
[外链图片转存中…(img-4Yha9Mo4-1714438583346)]
[外链图片转存中…(img-N1LI3iRL-1714438583347)]
[外链图片转存中…(img-gFTd1eHh-1714438583347)]
内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补