Qt的信号量和槽?

所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal),这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣…

简述 private、 protected、 public、internal 修饰符的访问权限

private:私有成员,在类的内部可以访问; protected:保护成员,该类的内部和子类可以访问; friend:友元,声明friend元素的程序集中的代码可以访问该元素,而…

new和malloc的区别

1.new内存分配失败时,会抛出bac_alloc异常,它不会返回NULL;malloc内存分配失败时会返回NULL。 2.使用new操作符申请内存分配时无需指定内存块的大小,而m…

进程和线程的区别?

1.进程是资源分配的最小单位,线程是任务执行的最小单位。 2.进程有自己独立的内存空间,每开启一个进程,系统就会分配相应的地址空间,建立数据表来维护代码段,数据段,堆栈段。线程共享…

堆和栈的区别?

1)栈 stack 存放函数的参数值、局部变量,由编译器自动分配释放,堆heap,是由new分配的内存块,由应用程序控制,需要程序员手动利用delete释放,如果没有,程序结束后,…

构造函数为什么一般不定义为虚函数?而析构函数一般写成虚函数的原因 ?

1、构造函数不能声明为虚函数 1)因为创建一个对象时需要确定对象的类型,而虚函数是在运行时确定其类型的。而在构造一个对象时,由于对象还未创建成功,编译器无法知道对象的实际类型,是类…

什么情况下会调用拷贝构造函数?

系统自动生成的构造函数:普通构造函数和拷贝构造函数 (在没有定义对应的构造函数的时候)生成一个实例化的对象会调用一次普通构造函数,而用一个对象去实例化一个新的对象所调用的就是拷贝构…

介绍下抽象类、接口类、聚合类?

抽象类:含有纯虚函数的类。 接口类:仅含有纯虚函数的抽象类。 聚合类:用户可以直接访问其成员,并且具有特殊的初始化语法形式。满足如下特点: 所有成员都是 public 没有定义任何…

介绍下分库分表?

垂直分表:可以把一个宽表的字段按访问频次、是否是大字段的原则拆分为多个表,这样既能使业务清晰,还能提升部分性能。拆分后,尽量从业务角度避免联查,否则性能方面将得不偿失。 垂直分库:…

虚函数指针、虚函数表

虚函数指针:在含有虚函数类的对象中,指向虚函数表,在运行时确定。 虚函数表:在程序只读数据段(.rodata section,见:目标文件存储结构),存放虚函数指针,如果派生类实现…

加载更多