菜鸟笔记
提升您的技术认知

c 笔记-ag真人游戏

dynamic_cast 和 dynamic_pointer_cast的使用

菜鸟阅读 : 1258

1.指引或者引用的向上转换,向下转换 例如基类a ,派生类b.。a->b 则为向下转换。。b->a则为向上转换。。向上转换为隐士转换。向下转换需要dynamic_cast或者c的转换方式。 b * b = new b; a * ...

std::dynamic_pointer_cast细节用法

菜鸟阅读 : 1847

关于std::dynamic_pointer_cast的使用,只适合具有继承关系的使用,比如 class d:public b { }; 如果,b的指针指向d时,想用d里面的函数,而在b里面没有时,我们就会使用std::dynamic_po...

c 类对象的初始化顺序

菜鸟阅读 : 1266

c 构造函数调用顺序 1.     创建派生类的对象,基类的构造函数优先被调用(也优先于派生类里的成员类); 2.    如果类里面有成员类,成员类的构造函数优先被调用...

读写锁原理

菜鸟阅读 : 1128

读写锁是写独占,读共享,若有一个线程正在写,占了写锁,其他线程写锁读锁都拿不到。 读写锁高2字节保存读锁,低2字节保存写锁。 1 、如果一个线程用读锁锁定了临界区,那么其他线程也可以用读锁来进入临界区,这样可以有多个线程并行操作。但是一旦加...

零拷贝技术

菜鸟阅读 : 746

在网络传输文件时,涉及到大量的io操作。 发送端: read函数读取文件到用户缓冲区,先把文件从磁盘拷贝到linux内核(dma来完成,不占用cpu),再从linux内核拷贝到用户缓冲区(cpu来完成),涉及到了两次数据拷贝。 然后把用户缓...

c 反射机制

菜鸟阅读 : 1228

1、什么是反射? 通过字符串函数名称来实现函数的调用就是反射。 2、如何实现? 使用map,key为string保存函数名称,val为函数指针。 但是因为map初始化时必须制定key,val的类型,如果我们想使用一个map来实现各种不同参数...

std::function 和 std::bind

菜鸟阅读 : 1075

std::function 仿函数对象 std::function  用来声明函数对象的,换句话说,就和函数指针、lambda表达式、函数名是一个东西 。 #include #include &l...

std::bind的返回类型

菜鸟阅读 : 1082

int foo(int a, int b){} std::function fun=std::bind(foo,std::placeholers _1,std::placeholders _2); f...

网站地图