在月读ArrayList源码的时候,在ArrayList的构造方法ArrayList(Collection<? extends E> c)  中看到了一行代码,感觉有些困惑,elementData.getClass() != Object[].class 为啥会不等呢?/** * Constructs a list containing the elements o
转载 10月前
83阅读
一、循环1.嵌套循环类似于嵌套if语句语法: while 表达式1: while 表达式2: 语句 for 变量1 in 容器1: for 变量2 in 容器2: 语句 while 表达式1: for 变量1 in 容器1: 语句 for 变量1 in 容器1: while
最近遇到一个C++工程内存泄漏的问题,经过排查,发现原来是 map 的使用有问题,本文记录了排查的过程,并给出一个类似的工程代码。起因某日,运维反馈生产环境某台设备出现问题,经组长排查,有两个工程服务占用内存较多,出现 OOM 被 Linux 系统干掉了。其中一个是我接手的工程,竟达到了 6GB,随即安排我排查。排查首先在本地虚拟机用 cppcheck、valgrind 测试,但没有发现容易看得懂
转载 2024-09-25 12:31:04
133阅读
1. 在类的构造函数和析构函数中没有匹配的调用new和delete函数两种情况下会出现这种内存泄露:一是在堆里创建了对象占用了内存,但是没有显示地释放对象占用的内存;二是在类的构造函数中动态的分配了内存,但是在析构函数中没有释放内存或者没有正确的释放内存2. 没有正确地清除嵌套的对象指针3. 在释放对象数组时在delete中没有使用方括号方括号是告诉编译器这个指针指向的是一个对
转载 2024-04-01 13:45:28
355阅读
文章目录前言一、认识malloc()与free()二、动态开辟一维数组1.常见使用情况2.动态创建数组补充说明三、动态开辟二维数组1.使用创建一维数组的思想进行动态开辟所申请空间的连续性特点2.使用指针数组进行动态开辟所申请空间的连续性:特点3.使用数组指针进行动态开辟所申请空间的连续性特点总结 前言了解并熟悉malloc(),calloc(),realloc(),free()等动态开辟函数。
转载 2024-03-29 09:48:57
399阅读
cJSON简介JSON基本信息JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时易于机器解析和生成。是一种很好地数据交换语言。官方信息解读简介 JSON构建:基于两种结构  “名称/值”对 的集合。  值得有序列表。JSON具体结构表示  对象:一个”名称/值"对的集合  {名称:值,名称:值}  数组:值得有序集
C++ Code 主要函数: 【1】常用创建 【创建JSON对象】cJSON *cJSON_CreateObject( ...
转载 2018-02-07 14:51:00
348阅读
2评论
 C++ Code 主要函数:    【1】常用创建    【创建JSON对象】cJSON *cJSON_CreateObject(void);    【创建JSON数组】cJSON *cJSON_CreateArray(void);        【2】常用添加    【向对象中添加对象】voidcJSON_AddItemToO...
原创 2021-09-28 17:53:09
629阅读
cJSON *cjsonArr = cJSON_GetObjectItem(cjosnDate, "params"); // cjosnDate为上述的cjson数据 cJSON *cjsonTmp = cJSON_GetArrayItem(cjsonArr, 0); int num = cjson ...
转载 2021-07-21 18:19:00
2162阅读
2评论
1.JSON格式简述JSON(JavaScript Object Notation) 是一种轻量级的数据交似于C语言家族的习惯(包括C, C+
原创 2022-03-16 17:25:24
618阅读
1.重要函数说明     【1】两个创建     【创建JSON对象】cJSON *cJSON_CreateObject(void);     【创建JSON数组】cJSON *cJSON_CreateArray(void);          【2】两种添加     【向对象中添加】void cJSON_AddItemToObject(cJSON *object,const char *
原创 2021-09-09 11:28:02
3946阅读
整型数据:没有小数部分的数字。 C++的基本整型:short、int、long、long long(char类型也属于整型,只不过它最常用来表示字符,而不是数字) 。它们在C++中的最小长度:short至少16位;int至少和short一样长;long至少32位,且至少和int一样长;long long至少64位,且至少和long一样长。要知道系统中整数的最大长度,可以在程序中使用C++
cJSON库的解析与使用1、JSON格式简介1.1、cjson数据结构形式1.2、cjson语法规则1.3、cjson的数据类型2、cJSON核心结构体3、封装JSON格式3.1、创建一个对象,并向这个对象里添加字符串和整型键值:3.2、创建一个数组,并向数组添加一个字符串和一个数字3.3、 对象里面包括一个数组,数组里面包括对象,对象里面再添加一个字符串和一个数字4、解析json得到数据4.1
转载 2023-06-21 18:05:30
182阅读
参考文档:http://m.elecfans.com/article/798692.html 主要用来打包或解析成标准格式以用来在网络间的K-V数据结构的解析,是用双向链表实现的,还有子目录,结构比较简单,只要项目加载cjson.c/cjson.h即可。使用方法见参考文档,主要有: 一 打包:cJSON_Print申请一段内存返回一个指针,再进一步用snprintf传给C的字节buf,用字节流发出
转载 2019-11-21 22:42:00
260阅读
2评论
[code="lua"]local json = require("cjson")local data = {1, 2}data[1] = 99-- ... do the other thingsngx.say(json.encode(data))ngx.say("value --> ", json.encode({dogs={}}))local s...
原创 2023-04-11 00:29:40
31阅读
1。 创建数组string GetDataJson(int iErrCode, std::vector<std::array<char, Data_Len>> &vecData){ cJSON * resJson = NULL; resJson = cJSON_CreateObject();
原创 2023-02-23 10:21:52
104阅读
1.JSON格式简述JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C+
原创 2021-09-05 11:25:13
765阅读
本文理解借鉴为什么不可以返回局部变量的指针 首先要明确,局部变量的指针,与局部指针变量的区别 局部变量的指针,若非static,则作用域仅为函数本身,在return之后即被释放,也即指针指向一个无效变量,因此不合理 而局部指针变量则不同,尽管指针变量本身的生命期在return之后也结束,但只要其指向对象有效,其地址也是有效的 开头链接中提到例子: //例1 int f1() { int x
转载 1月前
351阅读
        本来想在这篇里把索引的优化和更新一起写,但写完标题后发现标题好长,所以在这里就暂时只写关于索引删除的内容吧。因为小弟学的也不深,所以写的也有些简单,还望见谅。        一、索引删除用IndexWriter,为么啊?在我转来的那篇“Lucene中删除索引是用IndexWriter还是用IndexRe
面试题 1:变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明, 但是只在一个地方定义。加入 extern 修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分 定义。 说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间, 如外部变量。 面试题 2:写出 bool 、int、 flo
转载 3月前
395阅读
  • 1
  • 2
  • 3
  • 4
  • 5