C++
文章平均质量分 58
记录Android framework使用到的C++特性
Leaf Ye
这个作者很懒,什么都没留下…
展开
-
Android常用C++特性之std::make_pair
声明:本文内容生成自ChatGPT,目的是为方便大家了解学习作为引用到作者的其他文章中。是 C++ 标准库中的一个函数模板,用于创建一个std::pair对象。std::pair是一种可以存储两个不同类型值的简单数据结构,类似于二元组。函数可以自动推导出元素的类型,简化了构造pair对象的过程。原创 2024-10-10 15:54:55 · 360 阅读 · 0 评论 -
Android常用C++特性之std::future
声明:本文内容生成自ChatGPT,目的是为方便大家了解学习作为引用到作者的其他文章中。是 C++ 中的一个类模板,表示异步操作的未来结果。它是 C++11 标准库中线程功能的一部分,用于访问异步任务(例如通过线程或异步调用执行的函数)完成后产生的结果。原创 2024-10-10 15:51:51 · 371 阅读 · 0 评论 -
Android常用C++特性之std::swap
声明:本文内容生成自ChatGPT,目的是为方便大家了解学习作为引用到作者的其他文章中。std::swap是 C++ 标准库中提供的一个函数,位于<utility>头文件中。它用于交换两个变量的值。原创 2024-10-08 17:18:02 · 370 阅读 · 0 评论 -
Android常用C++特性之std::chrono
是 C++11 中提供的时间库,用于处理时间点和时间间隔。通过duration表示时间间隔,time_point表示时间点。支持不同精度的时间单位,如纳秒、毫秒、秒等。和。提供精确的时间测量和单位转换功能。原创 2024-09-27 19:58:59 · 704 阅读 · 0 评论 -
Android常用C++特性之std::abs
std::abs主要用于计算整数的绝对值。对于浮点数类型,应使用std::fabs进行绝对值计算。支持不同的数值类型重载,如intlonglong longfloatdouble等。原创 2024-09-27 19:54:46 · 477 阅读 · 0 评论 -
Android常用C++特性之std::none_of
也可以用于容器中的自定义对象。下面是一个例子,检查是否所有对象的某个成员都不满足条件。int age;// 检查是否所有人都不超过 40 岁// 谓词:检查年龄是否超过 40});检查范围内的所有元素是否都不满足给定的条件。如果所有元素都不满足条件,返回true;如果至少有一个元素满足条件,返回false。可用于数组、向量或其他支持迭代器的容器。原创 2024-09-27 19:51:12 · 508 阅读 · 0 评论 -
Android常用C++特性之std::unique
你可以通过提供自定义的谓词来定义 "相等" 的标准。// 使用自定义谓词来移除相邻绝对值相等的元素});// 使用 erase 减少容器大小// 打印结果return 0;是一个用于移除相邻重复元素的算法。它通过重新排列容器中的元素,将不需要的重复元素移动到末尾,并返回新的末尾位置。如果想要实际移除元素,需要结合erase函数。如果容器中存在非相邻的重复元素,通常需要先使用std::sort对容器进行排序。原创 2024-09-27 19:46:50 · 468 阅读 · 0 评论 -
Android常用C++特性之std::sort
/ 使用自定义的降序排序return 0;你可以提供自己的比较函数或 Lambda 表达式,用于定义排序规则。// 比较个位数// 使用自定义的比较函数return 0;std::sort是 C++ 中的高效排序函数,默认使用快速排序或类似算法。支持默认升序排序和自定义比较规则(如降序、自定义函数等)。适用于随机访问迭代器,如数组和等容器。原创 2024-09-27 19:42:07 · 423 阅读 · 0 评论 -
Android常用C++特性之std::find_if
int age;// 查找年龄大于 30 的人});if (it!是一个灵活的算法,用于在容器中查找满足特定条件的元素。它支持自定义条件,使其适用于多种类型和查找需求。适合用于数组、向量、列表等容器的元素查找。原创 2024-09-26 14:08:28 · 478 阅读 · 0 评论 -
Android常用C++特性之std::equal
/ 比较最后一位数字// 使用自定义比较函数} else {return 0;std::equal是用于比较两个范围内元素是否相等的标准算法。支持自定义比较逻辑,使其适用于不同的数据类型和比较需求。适合用于检查数组、向量、列表等容器的内容是否一致。原创 2024-09-26 13:45:26 · 529 阅读 · 0 评论 -
Android常用C++特性之std::any_of
是一个便捷的算法,用于快速检查范围内是否存在满足特定条件的元素。适用于各种容器,如数组、向量、列表等,具有简洁的语法和高效的执行。通过传递不同的谓词,可以灵活地处理各种条件检查。原创 2024-09-26 11:25:26 · 429 阅读 · 0 评论 -
Android常用C++特性之std::move
std::move用于将对象转换为右值引用,允许其资源被移动而不是复制。使用std::move可以避免不必要的深拷贝,提升程序效率,尤其在处理大对象时。配合移动构造函数和移动赋值运算符,可以实现高效的资源转移。一旦对象被移动,它通常会进入“空”或“无效”的状态,因此应避免在移动后继续使用该对象。原创 2024-09-26 10:52:14 · 649 阅读 · 0 评论 -
Android常用C++特性之std::optional
int age;} else {// 找不到人} else {return 0;是 C++17 中引入的,用于表示可选值。它提供了一种类型安全的方式来处理缺失值,避免了使用指针或特殊值的复杂性。适用于函数返回值、配置选项等场景,可以提高代码的可读性和安全性。原创 2024-09-26 09:58:39 · 443 阅读 · 0 评论 -
Android常用C++特性之std::this_thread
获取当前线程的唯一 ID。:让当前线程暂停执行指定时长。:让当前线程暂停执行,直到指定的时间点。:让出当前线程的 CPU 时间片,允许其他线程运行。通过,可以灵活地控制当前线程的行为,尤其在多线程编程中,能有效地控制线程的执行顺序和时机。原创 2024-09-25 11:09:32 · 618 阅读 · 0 评论 -
Android常用C++特性之std::unique_lock
提供了一个灵活的互斥锁管理工具,支持延迟锁定、手动解锁和尝试锁定等高级功能。与相比,在锁管理方面有更多的控制权,适用于更复杂的同步场景。在多线程编程中,适合那些需要在特定时刻手动锁定或解锁的场景,而则更适合简单、固定的锁管理。原创 2024-09-25 10:40:19 · 488 阅读 · 0 评论 -
Android常用C++特性之std::make_unique
提供了一种更简洁和安全的方式来创建,避免了手动管理内存的麻烦。提供独占的所有权,确保对象在不再使用时自动释放资源。使用可以减少使用new和delete时的出错风险。原创 2024-09-25 10:18:05 · 646 阅读 · 0 评论 -
Android常用C++特性之std::lock_guard
提供了一种简单且安全的机制来管理互斥锁,自动加锁和解锁,防止手动管理时的各种问题(如死锁、忘记解锁)。适合在简单场景中使用,主要用于确保在作用域结束时互斥锁能够安全释放。原创 2024-09-25 09:53:20 · 473 阅读 · 0 评论 -
Android常用C++特性之std::thread
提供了一种简单的多线程并发模型,能够启动、管理并行执行的任务。通过join()可以确保主线程等待子线程完成,通过detach()可以使线程独立运行。当多个线程访问共享资源时,需要使用同步机制(如std::mutex)来防止数据竞争。原创 2024-09-24 16:21:43 · 587 阅读 · 0 评论 -
Android常用C++特性之lambda表达式
捕获方式:通过捕获列表[ ]指定捕获外部变量的方式。简洁性:可以用 lambda 表达式代替简单的函数或函数对象,简化代码。应用场景:适合临时、匿名的可调用对象,特别是在回调、算法、事件处理中广泛应用。原创 2024-09-24 15:56:31 · 923 阅读 · 0 评论 -
Android常用C++特性之std::function
声明:本文内容生成自ChatGPT,为方便大家了解学习作为引用到其他文章中。是 C++ 标准库中的一个,用于存储、复制、调用任何可以调用的目标(如普通函数、lambda 表达式、函数对象、成员函数等)。它提供了一种通用的方式来处理不同类型的可调用对象。原创 2024-09-24 15:04:43 · 328 阅读 · 0 评论