小万哥 小万哥
2年前
C++智能指针和内存管理:使用指南和技巧
C是一门强大的编程语言,但是在内存管理方面却存在着一些问题。手动管理内存不仅费时费力,而且容易出错。因此,C中引入了智能指针这一概念,以更好地管理内存。什么是智能指针?在C中,内存的分配和释放都是由开发者手动实现的。这种方式虽然很灵活,但也十分
Stella981 Stella981
3年前
JavaScript的深拷贝和浅拷贝
一、数据类型数据分为基本数据类型(String,Number,Boolean,Null,Undefined,Symbol)和对象数据类型。、1.基本数据类型的特点:直接存储在栈(stack)中的数据2.引用数据类型的特点:存储的是该对象在栈中引用,真实的数据放在堆内存里。引用数据类型在栈中存储了指针,该指针指向堆中该实
Stella981 Stella981
3年前
Google C++编程
Google有很多自己实现的使C代码更加健壮的技巧、功能,以及有异于别处的C的使用方式。1\.智能指针(SmartPointers)如果确实需要使用智能指针的话,scoped\_ptr完全可以胜任。在非常特殊的情况下,例如对STL容器中对象,你应该只使用std::tr1::shared\_ptr,任何情况下都不要使用auto\_p
Stella981 Stella981
3年前
Python 画图
使用python的科学计算库,达到快速计算的效果。标准的Python中用列表(list)保存一组值,可以当作数组使用。但由于列表的元素可以是任何对象,因此列表中保存的是对象的指针。这样一来,为了保存一个简单的列表\1,2,3\,就需要有三个指针和三个整数对象。对于数值运算来说,这种结构显然比较浪费内存和CPU计算时间。使用numpy的a
Stella981 Stella981
3年前
Python递归函数、匿名函数、过滤函数
递归函数Python对递归的深度有限制,超过即会报错。所以一定一要注意跳出条件。斐波拉契数列一个数列,第一个数是1,第二个数也是1,从第三个数开始,每一个数是前两个数之和公式:f(1)1,f(2)1,f(3)f(1)f(2),...,f(n)f(n2)f(n1)
Stella981 Stella981
3年前
Golang高效实践之array、slice、map实践
前言Golang的slice类型为连续同类型数据提供了一个方便并且高效的实现方式。slice的实现是基于array,slice和map一样是类似于指针语义,传递slice和map并不涉及底层数据结构的拷贝,相当于传递底层数据结构的指针。Arrays数组 数组类型的定义需要指定长度和元素的类型。例如,\4\int表示一个四个整数
Wesley13 Wesley13
3年前
Java三元表达式中的陷阱
今天遇到一个奇怪的Java三元表达式中的空指针异常。特此记录。代码代码示意如下:IntegeritemVOnull;IntegerglobleLatenessToleranceUseAlternatenull;IntegerlatenessToleranceUseAlternate
Wesley13 Wesley13
3年前
MySql的数据库优化到底优啥了都??(4)
  上回刚刚讲到了BTree这次来简单学学BTree索引  BTree中每个节点包含:  1.本节点所含关键字的个数。  2.指向父节点的指针  3.关键字  4.指向子节点的指针  关于BTree的规则  1.m阶的BTree每个结点至多可以拥有m个子节点,根结点至少有两个子节点  2.根结点的关键字(key)
Stella981 Stella981
3年前
Python C 扩展的引用计数问题探讨
PythonGC机制对于Python这种高级语言来说,开发者不需要自己管理和维护内存。Python采用了引用计数机制为主,标记清除和分代收集两种机制为辅的垃圾回收机制。首先,需要搞清楚变量和对象的关系:变量:通过变量指针引用对象。变量指针指向具体对象的内存空间,取对象的值。对象,类型已知,每个对象都包
Lombok注解引发的空指针问题分析
一、问题描述在一次上线后,日志中出现空指针的报错,但是报错代码位置以及相应工具类未进行过修改,接下来进一步分析。以下为报错堆栈信息:java.lang.NullPointerException:nullatnet.sf.cglib.core.Reflect