- 博客(5)
- 收藏
- 关注
原创 STL容器用法与介绍之vector
1. 特点a) vector是一个封装了动态大小数组的顺序容器,并支持反转;b) vector是在堆上分配内存,并在内存中具有连续的存储空间,它提供了自动内存管理功能,随着元素的增加或删除,内存会同步进行增大或缩小;c) 访问vector中的元素可以通过元素下标实现随机访问,也可以通过迭代器实现顺序访问;d) 在vector尾部添加和删除元素的时间复杂度是O(1),但是在vector头部或中间插入和删除元素的时间复杂度是O(N)。原因:由于vector的内存空间是连续的,所以在头部和中间进行
2020-05-17 15:55:45
1273
原创 [C++] 判断指针为空方法的比较(NULL, 0, nullptr)
我们使用C++编码时,经常会用到指针。在使用指针之前,对指针进行判空操作是一种规范编码的行为。C++中判断指针是否为空有3中方法(NULL, 0, nullptr),我们接下来分别对他们进行比较。1. NULL NULL是C语言的内容,在C语言中,NULL的定义为:#define NULL ((void *)0)。因此,我们写 int* p = NUL...
2020-03-08 19:54:07
14001
原创 [C++]智能指针的原理与使用
1、智能指针的原理及作用 C++程序中不仅包含静态内存和栈内存,还有一个内存池,内存池中的内存被称为自由空间或者堆。程序通常使用堆来存储动态分配的对象(程序运行时分配的对象),当动态对象不再被使用时,代码必须显式的将它们销毁。动态内存的管理是通过运算符new和delete完成的。new运算符:在动态内存中为对象分配一块空间并返回一个指向该对象的指针。int i;in...
2018-08-05 20:04:45
1844
原创 [C++]数据类型间的相互转换
我们在研发过程中,经常会遇到各数据类型间的相互转换,我整理了部分数据类型转换的方法,在这里和大家分享一下。int、float、double转换为string(以int转换成double为例)1、to_string函数 C++ 11标准增加了全局函数std::string,这个函数很强大,不仅可以把int转换成string,也可以将long、float、double等类型转换成stri...
2018-02-13 16:11:45
709
原创 [C++]如何生成GUID
GUID(Globally Unique Identifier):全球唯一标识符,是一种由算法生成的字母数字标识符,长度为128位,在Windows平台上,GUID被广泛应用于注册表、数据库、接口标识以及自动生成的目录名称、机器名称等。最近在项目开发中用到了以下两种方法生成GUID后转换成std::string类型作为map的Key,在此和大家分享一下!1、使用CoCreateGuid函数...
2018-02-11 09:27:17
14379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人