编程基础
文章平均质量分 86
小小2021
这个作者很懒,什么都没留下…
展开
-
Android中 sp<> 以及函数后跟const
Android中定义了两种智能指针类型,一种是强指针sp(strong pointer),另外一种是弱指针(weak pointer)。其实称之为强引用和弱引用更合适一些。强指针与一般意义的智能指针概念相同,通过引用计数来记录有多少使用者在使用一个对象,如果所有使用者都放弃了对该对象的引用,则该对象将被自动销毁。弱指针也指向一个对象,但是弱指针仅仅记录该对象的地址,不能通过弱指针来访问该对象,也就是说不能通过弱智真来调用对象的成员函数或访问对象的成员变量。要想访问弱指针所指向的对象,需首先通过w..原创 2021-10-28 16:30:06 · 700 阅读 · 0 评论 -
关于new的用法: classA & p = *new A;
// frameworks/native/libs/binder/static.cppMutex& gProcessMutex = *new Mutex;sp<ProcessState> gProcess;new其实就是告诉计算机开辟一段新的空间,但是和一般的声明不同的是,new开辟的空间在堆上,而一般声明的变量存放在栈上。通常来说,当在局部函数中new出一段新的空间,该段空间在局部函数调用结束后仍然能够使用,可以用来向主函数传递参数。另外需要注意的是,new的使用格原创 2021-10-28 10:52:41 · 2926 阅读 · 2 评论 -
882@for (auto x : nums)遍历时const auto& 和auto的区别
auto 和const auto&1、auto即 for(auto x:range) 这样会拷贝一份range元素,而不会改变range中元素;2、当只想读取range中元素时,使用const auto&。如:for(const auto&x:range),它不会进行拷贝,也不会修改range,效率会比用auto快一点 想要拷贝元素:for(auto x:range) 想要修改元素:for(auto &&x:range) 想要...原创 2021-09-01 20:29:08 · 5304 阅读 · 1 评论 -
883@ container of() 函数解析
container of()在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member)已知结构体 type 的成员 member 的地址 ptr,求解结构体type的起始地址。type的起始地址 = ptr - size (这里需要都转换为char *,因为它为单位字节)。container of函数原型:#define container_of(ptr, type, member) ({ \ ......原创 2021-07-06 16:42:55 · 79 阅读 · 0 评论 -
882@ 指针函数和函数指针
指针函数与函数指针的区别1、指针函数是指 指向指针的函数,即本质是一个函数。 函数返回类型是某一类型的指针类型标识符 *函数名(参数表) int *f(x,y);2、函数指针是指向函数的指针变量,即本质是一个 指针变量。int (*f) (int x); /*声明一个函数指针*/f=func; /*将func函数的首地址赋给指针f */...原创 2021-07-05 19:24:11 · 109 阅读 · 0 评论