
黑科技开源项目
文章平均质量分 92
Bitup_bitwin
怕什么真理无穷,进一寸有一寸的欢喜。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++mutable
mutable是C++中的一个关键字,用于修饰类的成员变量。它的主要作用是允许在const成员函数中修改被mutable修饰的成员变量。这打破了const成员函数不能修改对象状态的一般规则。让我们通过几个例子来理解mutable的用法:在这个例子中,尽管是一个const成员函数,但它仍然可以修改成员,因为被声明为mutable。mutable通常用于以下场景:a) 缓存: 当某个计算很昂贵,我们想在const对象中缓存结果时。b) 互斥锁: 在多线程环境中,即使对象是const的,我们也可能需要锁定资源。原创 2024-09-06 08:30:00 · 3225 阅读 · 0 评论 -
C++的成员初始化列表
成员初始化列表是C++中类构造函数的一部分,它允许在构造函数体之前初始化类的成员变量。相比于在构造函数体内赋值,成员初始化列表有更高效的性能,特别是在初始化常量成员、引用成员和基类时至关重要。成员初始化列表的执行顺序并不是按列表中的书写顺序,而是按照成员变量在类中声明的顺序。常量成员变量一旦声明,必须被初始化,且在之后不能更改。对于自定义类型成员变量,使用成员初始化列表可以避免不必要的默认构造和赋值操作,提升代码性能。必须在初始化列表中初始化,因为它们只能在对象创建时被赋值,不能在构造函数体内赋值。原创 2024-09-05 08:30:00 · 2316 阅读 · 0 评论 -
C++的optional(C++17)
在C++17中,`std::optional` 提供了一种优雅的方式来表示可能存在也可能不存在的值。它避免了传统指针的空值检查,使代码更具表达性和安全性。在这篇博客中,我们将探讨 `std::optional` 的基本用法、优势以及它如何帮助我们编写更健壮的C++代码。原创 2024-09-04 08:30:00 · 1223 阅读 · 0 评论 -
C++三目运算符
C++中的三目运算符(Ternary Operator)是一种简洁的条件表达式语法,用于在一个表达式中实现简单的条件判断。它的语法和使用场景非常简单但非常有用,尤其是在需要简化代码或进行条件赋值时。以下是关于C++三目运算的详细教学,包括嵌套使用和代码示例的讲解。原创 2024-09-03 08:30:00 · 3939 阅读 · 0 评论 -
C++创建并初始化对象
在创建对象之前,首先需要定义一个类。类是对象的蓝图,定义了对象的属性和行为。类通常包含成员变量(属性)和成员函数(方法)。在这个示例中,Person类包含两个成员变量name和age,以及一个成员函数display()用于显示对象的信息。对象的创建:可以在栈上或堆上创建对象,通过类的定义实例化对象。对象的初始化:主要通过构造函数完成,包括默认构造函数、带参数的构造函数和使用初始化列表。拷贝构造函数:用于创建对象的副本,在需要复制对象时调用。对象的销毁。原创 2024-09-01 08:30:00 · 3764 阅读 · 0 评论 -
C++的结构化绑定(C++17 引入)
在C++17中,结构化绑定(Structured Bindings)是一项引人注目的新特性,它允许我们更简洁、直观地解构数据结构。通过这一特性,我们可以直接从元组、对组或结构体等数据类型中提取多个值,并赋给新的变量,从而使代码更加清晰易读。在本篇博客中,我们将深入探讨结构化绑定的基本概念、使用方法以及在实际编程中的应用场景。原创 2024-09-02 08:30:00 · 218 阅读 · 0 评论 -
C++的基准测试
基准测试是评估和优化代码性能的重要工具。通过测量代码的执行时间,开发者可以直观地看到不同实现方式的性能差异,并做出最优选择。无论是手动基准测试还是使用专业的基准测试工具,掌握这一技能都能帮助你编写更加高效的代码。这段代码通过实测不同智能指针的内存分配耗时,帮助开发者理解和选择合适的智能指针类型和创建方式,以优化 C++ 程序的性能和内存管理。原创 2024-08-31 08:17:27 · 872 阅读 · 0 评论 -
保姆式教学如何安装使用LivePortrait
LivePortrait是一个开源项目,通过深度学习技术将静态图像转换为动态视频,为用户提供逼真的面部表情和运动效果。原创 2024-07-28 10:10:26 · 5111 阅读 · 1 评论