
C++/指针
文章平均质量分 75
C++/指针、引用
u013250861
这个作者很懒,什么都没留下…
展开
-
C++-指针:void*(不确定类型指针)简介【void *可以接受任何类型的赋值】【void *可以赋值给任何类型的变量】【void *不可以解引用】
void*是一种特殊的指针类型,可用于存放任意对象的地址。一个void*指针存放着一个地址,这一点和其他指针类似。简单说一下voidvoidvoid如果函数的参数或返回值可以是任意类型指针,那么应声明其类型为void*;原创 2022-11-22 21:17:09 · 3567 阅读 · 0 评论 -
C++-指针-创建“智能指针”函数2:make_shared(创建并返回shared_ptr至指定类型的对象)【定义在memory.h标准头文件中】
std::make_unique 和 std::make_shared是三个make函数中的两个,make函数用来把一个任意参数的集合完美转移给一个构造函数从而生成动态分配内存的对象,并返回一个指向那个对象的灵巧指针。原创 2022-11-08 23:15:45 · 484 阅读 · 0 评论 -
C++-指针-创建“智能指针”函数1:make_unique【创建并返回unique_ptr至指定类型的对象】【定义在memory.h标准头文件中】【reset、release、get】
1. make_unique 同 unique_ptr 、auto_ptr 等一样,都是 smart pointer,可以取代new 并且无需 delete pointer,有助于代码管理。关于make_unique的构造及使用例程,MSDN的讲解非常详细 (https://msdn.microsoft.com/zh-cn/library/dn439780.aspx )2. make_unique 创建并返回 unique_ptr 至指定类型的对象,这一点从其构造函数能看出来。原创 2022-11-08 22:33:45 · 17497 阅读 · 0 评论 -
C/C++:函数参数传递的三种情况【传值(a):不能改变实参】【传地址(*a)(本质还是传值):可改变实参】、【传引用(&a):可改变实参】
(1)传值,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个形式参数,因而在函数里对形参的改变不会影响到函数外的变量的值。(2)传址,就是传变量的地址赋给函数里形式参数的指针,使指针指向真实的变量的地址,因为对指针所指地址的内容的改变能反映到函数外,也就是能改变函数外的变量的值。(3)传引用,实际是通过指针来实现的,能达到使用的效果如传址,可是使用方式如传值。说几点建议:如果传值的话,会生成新的对象,花费时间和空间,而在退出函数的时候,又会销毁该对象,花费时间和空间。因而如果int,原创 2022-06-07 00:43:47 · 1465 阅读 · 0 评论 -
C++:智能指针【unique_ptr、shared_ptr、weak_ptr】【自动释放所指向的对象】【定义在memory.h标准头文件中】
我们知道除了静态内存和栈内存外,每个程序还有一个内存池,这部分内存被称为自由空间或者堆。程序用堆来存储动态分配的对象即那些在程序运行时分配的对象,当动态对象不再使用时,我们的代码必须显式的销毁它们。原创 2022-11-06 20:37:33 · 1629 阅读 · 0 评论