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

C++ 笔记 第18页

JsonCpp 使用指导

前言 JSON 是一种轻量级数据交换格式。它可以表示数据、字符串、有序的值序列以及名称/值对的集合。 JsonCpp 是一个 C++ 库,允许操作 JSON 值,包括字符串之间的序列化和反序列化。它还可以在反序列化/序列化步骤中保留现有注释...

赞(1)菜鸟菜鸟阅读(9623)

C++什么类不能被继承

C++什么类不能被继承 C++什么类不能被继承,首先思考派生类继承基类将会发生什么默认操作?派生类在调用自身的构造函数之前需要先调用基类的构造函数。那么我们就让这个不想被别人继承的类的构造函数无法被其派生类构造。现在主要有三种方式阻止类的构...

赞(1)菜鸟菜鸟阅读(1661)

dynamic_cast 和 dynamic_Pointer_cast的使用

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

赞(1)菜鸟菜鸟阅读(2772)

std::dynamic_pointer_cast细节用法

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

赞(1)菜鸟菜鸟阅读(3345)

C++ 类对象的初始化顺序

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

赞(1)菜鸟菜鸟阅读(2693)

读写锁原理

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

赞(1)菜鸟菜鸟阅读(2169)

零拷贝技术

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

赞(1)菜鸟菜鸟阅读(1697)