
C++
文章平均质量分 89
小宝哥Code
码农,主策,游戏迷
展开
-
001-Java 简介
Java 的成功不仅仅在于语言本身,更在于其庞大的生态系统和丰富的技术栈支持。Java 提供了功能强大的标准库(Java Standard Library),涵盖了数据结构、网络、文件操作、数据库连接等常见功能。Java 生态系统的广泛应用保证了它在未来很长一段时间内的相关性和实用性,成为掌握它的开发者必然会受益匪浅!)是 Java 的企业级开发平台,提供了构建企业级 Web 应用和分布式系统的核心技术。Java 是一种强类型语言,要求在编译时指定变量的类型,提供更高的安全性和可靠性。原创 2025-02-06 00:00:00 · 593 阅读 · 0 评论 -
044-C++ 有用的资源
C++ 是一门功能强大但复杂的编程语言,它拥有丰富的语法、标准库和庞大的生态系统。通过系统化的学习和工具的辅助,你可以逐步掌握这门语言,成为一名高效的现代 C++ 开发者。C++ 是一门广泛应用于多个领域的编程语言,学习它需要从基础开始,然后逐步深入,最终掌握高级特性和实际应用场景。以下是常见的学习路径和提升方法。一个非常受欢迎的视频教程系列,涵盖从基础到高级的 C++ 技术,适合有一定编程经验的开发者。重点讲解 C++11 和 C++14 的最佳实践,是现代 C++ 开发者的必读书籍。原创 2025-02-06 00:00:00 · 830 阅读 · 0 评论 -
043-C++ 标准库
C++ 标准库是一个功能强大且灵活的工具集合,涵盖了常见的容器、算法、并发编程、字符串处理、文件操作等功能。在掌握了基础的 C++ 标准库功能后,我们可以进一步探索一些高级特性和应用场景,例如智能指针、文件系统操作、正则表达式、多线程与并发编程、协程,以及 C++20 引入的新特性如。在掌握了 C++ 标准库的基础功能和高级特性后,接下来的内容将聚焦于更复杂的应用场景、性能优化、C++20 及未来标准的特性,以及如何在实际项目中高效使用标准库。是 C++ 提供的字符串类,支持动态大小调整和丰富的操作。原创 2025-02-06 00:00:00 · 1005 阅读 · 0 评论 -
042-C++ 导入标准库
C++ 标准库(Standard Library)不仅提供了大量的工具和功能,还遵循了现代 C++ 的设计理念,包括泛型编程、资源管理(RAII)、并发模型等。在了解了 C++ 标准库的基础知识和常见工具后,让我们进一步探索如何在复杂场景中使用标准库的高级功能。C++ 标准库是 C++ 编程语言的一部分,为开发者提供了广泛的工具,涵盖容器、算法、输入输出、线程管理、数学计算等。使用标准库时,需要包含相应的头文件。是 C++17 引入的工具,用于存储多个类型中的一个,类似于联合体(union),但类型安全。原创 2025-02-06 00:00:00 · 982 阅读 · 0 评论 -
041-C++ STL 教程
C++ 标准模板库(STL, Standard Template Library)是 C++ 的核心组成部分,提供了丰富的容器、算法和迭代器等工具,用于高效处理数据结构和算法操作。STL 不仅提供了基础的数据结构和算法,还提供了许多高级功能,例如自定义排序、函数对象、lambda 表达式、多态容器、以及复杂算法的灵活应用。熟练掌握 STL 的容器、算法和迭代器,是 C++ 开发者的重要技能,可以大大提升开发效率和代码质量。是 STL 容器的成员函数,用于直接在容器中构造对象,避免额外的拷贝或移动。原创 2025-02-06 00:00:00 · 1171 阅读 · 0 评论 -
040-C++ Web 编程
C++ 是一种高性能的通用编程语言,常用于底层开发,但在 Web 编程领域,C++ 也有重要的应用。HTTPS 是 Web 安全通信的基础,C++ 实现 HTTPS 需要使用 SSL/TLS 库,如 OpenSSL 或 Boost.Asio 提供的 SSL 支持。在更复杂的 Web 应用场景中,C++ 能够与现代 Web 技术集成,并提供高性能和高可扩展的解决方案。C++ 的 Web 编程虽然复杂,但可以实现高性能、高扩展性的 Web 服务,尤其适合对性能要求极高的场景。原创 2025-02-05 00:00:00 · 980 阅读 · 0 评论 -
039-C++ 多线程
在多线程编程中,随着程序复杂性的增加,可能会遇到更高级的应用场景,例如线程池、读写锁、原子操作以及多线程性能优化。线程是程序的基本执行单元,每个线程都有自己的栈空间,但共享同一个进程的内存地址空间和资源。线程池是一种高效的线程管理方式,通过预先创建固定数量的线程来处理多个任务,避免每次任务都创建和销毁线程的开销。多线程是 C++ 程序设计中的重要工具,合理使用可以显著提高程序性能,但也需要注意线程安全和同步问题。通过合理运用这些技术,可以充分发挥多线程的优势,同时避免常见的陷阱和问题。原创 2025-02-05 00:00:00 · 631 阅读 · 0 评论 -
039-C++ 多线程
/ 自动加锁/解锁。原创 2025-02-05 00:00:00 · 720 阅读 · 0 评论 -
038-C++ 信号处理
信号处理是 POSIX 标准的一部分,依赖于底层操作系统的支持,因此在跨平台开发中需要注意兼容性。信号处理是 C++ 中处理异步事件的重要工具,尽管它提供了很大的灵活性,但由于其底层特性,开发者需要小心使用,确保程序的健壮性和线程安全性。在实际开发中,信号处理可以应用于更复杂的场景,如资源清理、多信号组合处理、以及与多线程的协调。通过合理使用信号处理机制,可以增强程序的健壮性,并在复杂环境下实现更高效的资源管理与错误处理。信号处理常用于清理资源,例如在程序收到终止信号时,关闭文件、释放内存或断开网络连接。原创 2025-02-05 00:00:00 · 896 阅读 · 0 评论 -
037-C++ 预处理器
C++ 预处理器是一个功能强大但易被滥用的工具,通过合理使用预处理器,可以提高代码的灵活性和可维护性。在现代 C++ 中,逐渐用更安全、类型明确的语言特性取代预处理器是一个重要趋势,但预处理器在跨平台开发、条件编译等场景中依然不可或缺。在本节中,我们将进一步探讨预处理器的底层机制、优化技巧、与现代 C++ 特性的对比,以及预处理器在实际开发中的更多实用模式。本节将深入探讨预处理器的高级应用,包括复杂条件编译、宏技巧、动态代码生成、与调试相关的预处理器使用,以及预处理器在实际项目中的最佳实践。原创 2025-02-05 00:00:00 · 684 阅读 · 0 评论 -
036-C++ 模板
在之前的内容中,我们学习了 C++ 模板的基本使用,包括函数模板、类模板以及模板特化等内容。在本节中,我们将进一步探讨模板的高级功能和实际应用,包括模板的递归、模板元编程、可变参数模板以及模板与 STL 的结合。通过模板,C++ 提供了强大的泛型编程能力,极大地提高了代码的可复用性和灵活性,同时保持了类型安全性。模板元编程(TMP)是一种使用模板在编译时完成计算的编程技术,广泛用于优化代码和生成复杂的编译时逻辑。模板递归是一种强大的技术,允许通过递归模板的方式来完成编译时计算(如阶乘、斐波那契数等)。原创 2025-02-05 00:00:00 · 1237 阅读 · 0 评论 -
035-C++ 命名空间
本节将进一步探讨命名空间的高级功能和应用,包括命名空间的延迟定义、命名空间在头文件中的使用、命名空间和类的结合,以及命名空间在大型项目中的实际组织。通过合理使用命名空间,C++ 程序员可以编写更清晰、模块化和可维护的代码,同时有效地避免名称冲突和作用域混乱的问题。通过合理使用命名空间,可以提高代码的可读性、可维护性,并减少名称冲突的问题,是 C++ 编程中非常重要的一部分。匿名命名空间是没有名字的命名空间,通常用于限制标识符的作用域,使其仅在当前文件中可见。命名空间可以与类结合使用,提供层次化的分组结构。原创 2025-02-05 00:00:00 · 502 阅读 · 0 评论 -
034-C++ 动态内存
在前面的部分,我们介绍了动态内存分配的基本使用、智能指针以及常见问题。动态内存分配提供了灵活性,尤其是在内存需求在编译时无法确定的情况下。通过动态内存分配和智能指针的结合,C++ 程序可以更高效地管理内存,同时避免常见的内存管理问题,提高程序的健壮性和可维护性。通过合理地使用动态内存,C++ 程序员可以编写高效、灵活且安全的程序,同时避免内存管理问题对程序稳定性和性能的影响。动态内存池(memory pool)是一种优化内存分配和释放的技术,适用于频繁分配和释放小块内存的场景。,会导致未定义行为。原创 2025-02-05 00:00:00 · 1593 阅读 · 0 评论 -
033-C++ 异常处理
在前面的部分,我们了解了 C++ 异常处理的基本概念、标准异常、自定义异常类以及异常处理的注意事项。本节将深入探讨异常处理的高级应用,包括异常的传播、嵌套异常、多线程中的异常处理以及 RAII(资源获取即初始化)在异常处理中扮演的重要角色。C++11 引入了嵌套异常机制,允许一个异常包含另一个异常,便于在捕获异常时记录额外的上下文信息。在 C++11 中,标准库支持多线程编程,但线程中的异常不会自动传播到主线程。通过合理地使用 C++ 的异常处理机制,可以编写出健壮且可维护的代码,同时提高程序的容错能力。原创 2025-02-05 00:00:00 · 543 阅读 · 0 评论 -
032-C++ 文件和流
在前面的部分,我们学习了 C++ 文件和流的基本概念、操作以及文件指针和异常处理等内容。本部分将进一步讨论文件和流的高级功能,例如随机访问文件、多线程文件操作、缓冲区管理以及文件流的性能优化。通过掌握 C++ 文件和流的基础与高级功能,程序员可以高效地处理各种文件 I/O 任务,包括文本文件、二进制文件以及多线程环境下的文件操作。随机访问文件是指在文件中的任意位置读取或写入数据,而不仅仅是从头到尾顺序操作。通过学习 C++ 的文件和流机制,程序员可以实现高效的文件 I/O 操作,从而满足各种数据处理需求。原创 2025-02-05 00:00:00 · 788 阅读 · 0 评论 -
031-C++ 接口(抽象类)
在前面的部分,我们详细探讨了 C++ 抽象类的基本概念、实现方式以及设计模式中的应用。通过合理使用抽象类,C++ 程序员可以设计出灵活、模块化和可扩展的软件系统,同时确保代码的可读性和易维护性。通过合理使用抽象类,C++ 程序员可以设计出灵活、模块化且可扩展的软件系统,同时提高代码的可维护性和复用性。C++ 抽象类是实现动态多态的基础,通过基类指针或引用调用派生类的实现,可以实现灵活且可扩展的系统。在构造函数或析构函数中调用虚函数时,只会调用当前类的实现,而不会调用派生类的实现。原创 2025-02-05 00:00:00 · 1615 阅读 · 0 评论 -
030-C++ 数据抽象
是面向对象编程(OOP)的一个核心概念,它通过隐藏对象的实现细节,只暴露对外的接口,从而确保数据的完整性和安全性。数据抽象的目的是将对象的操作和实现分开,用户只需了解“如何使用对象”,而不需要知道“对象是如何实现的”。数据抽象是设计高质量软件的基础,通过隐藏实现细节和提供统一的接口,可以提高代码的安全性、可维护性和可扩展性,同时增强程序的模块化和复用性。通过合理使用数据抽象,C++ 程序员可以构建更安全、灵活和可维护的代码,同时提升软件的整体质量和扩展能力。是一种常见的设计模式,用于隐藏类的实现细节。原创 2025-02-05 00:00:00 · 1983 阅读 · 0 评论 -
029-C++ 多态
通过多态,基类的指针或引用可以调用派生类的实现,从而实现程序的灵活性和可扩展性。抽象类是实现多态的核心工具,通过纯虚函数可以定义一个统一的接口,派生类必须实现具体功能。如果基类的析构函数不是虚函数,通过基类指针删除派生类对象时,可能导致派生类的析构函数不会被调用,从而引发资源泄漏。通过合理设计和使用多态,可以实现更加灵活、可扩展的程序结构,从而提高代码的复用性、可读性和维护性。通过多态,可以设计更加灵活、可扩展的程序结构,从而提高代码的复用性和可维护性。在工厂模式中,通过多态返回不同的对象实例。原创 2025-02-05 00:00:00 · 1334 阅读 · 0 评论 -
028-C++ 重载运算符和重载函数
接下来,我们将深入探讨更复杂的场景和高级用法,包括运算符重载的特殊情况、函数重载的限制与扩展,以及二者在实际开发中的结合与应用。运算符重载和函数重载是 C++ 的重要特性,在实际开发中,合理使用二者可以显著提高程序的灵活性和可读性,同时保持代码高度的可维护性和可扩展性。通过重载,可以为类对象自定义运算符的行为,以及定义多个具有相同名称但参数不同的函数。通过合理使用运算符重载和函数重载,可以使代码更加灵活、清晰,同时增强类设计的可扩展性和可维护性。类的成员函数也可以重载,但需要遵守相同的规则。原创 2025-02-05 00:00:00 · 1430 阅读 · 0 评论 -
027-C++ 继承
在之前的部分,我们学习了继承的基本概念、多继承、虚继承及其在多态中的应用。接下来将探讨继承的更多高级特性,包括抽象类、接口、多态的深层次应用,以及继承的设计原则和最佳实践。继承是 C++ 面向对象编程的重要特性,结合多态、虚继承等高级功能,可以实现复杂的对象模型和灵活的软件设计。通过合理设计继承关系和使用多态,可以实现灵活、可扩展的对象模型,使代码更加简洁、高效、可维护。继承是实现多态的基础,通过虚函数实现动态绑定(运行时多态)。虚继承使基类的实例在子类中只存在一份,从而避免菱形继承问题。原创 2025-02-05 00:00:00 · 822 阅读 · 0 评论 -
026-C++ 类 & 对象
在之前的部分,我们学习了类与对象的基础知识,包括类的定义、访问权限、构造函数、析构函数、静态成员、友元等内容。默认情况下,C++ 会提供一个浅拷贝的拷贝构造函数,但在对象包含动态分配的资源时,通常需要自定义拷贝构造函数。类提供了数据和操作的封装,而对象是类的实例。C++ 的类和对象为面向对象编程提供了强大的支持,通过封装、继承、多态等特性,可以构建灵活、健壮的程序。通过掌握类与对象的特性与高级应用,可以设计健壮、可扩展、灵活的 C++ 程序。对象是类的实例,通过类定义可以创建一个或多个对象。原创 2025-02-05 00:00:00 · 904 阅读 · 0 评论 -
025-C++ 数据结构
接下来,我们将进一步深入探讨数据结构的高级应用,包括复杂数据结构的实现、性能对比、多维数据结构、以及 STL 容器的底层原理。C++ 提供了多种数据结构,通过标准模板库(STL)和用户自定义的实现,可以满足不同场景下的存储和处理需求。数据结构是组织和管理数据的一种方式,是高效算法设计的基础。通过结合 STL 和自定义实现,C++ 提供了极大的灵活性和效率,能够满足几乎所有的数据结构需求。C++ 提供了强大的数据结构和 STL 容器,可以根据实际需求灵活选择合适的数据结构。更适合动态大小的二维数组。原创 2025-02-05 00:00:00 · 724 阅读 · 0 评论 -
024-C++ vector 容器
的容量不足时,会重新分配更大的内存空间,并将旧数据拷贝到新空间中。是 C++ 中最常用的容器之一,功能强大且易用,适合处理大多数动态数组的需求。的基础用法,包括基本操作、排序、查找等功能。的功能和特性,可以高效地处理动态数组的需求,同时提升程序的灵活性与性能。提供了数组的随机访问特性,同时也提供了灵活的插入和删除功能。的容量,使其与当前大小一致,释放多余的内存。可以存储任何类型的对象,包括用户自定义类型。、自定义类型的存储、多线程中的使用等。的末尾构造一个元素,效率高于。的容量(分配的存储空间)。原创 2025-02-04 00:00:00 · 639 阅读 · 0 评论 -
023-C++ 结构体(struct)
接下来,我们将更深入地探讨一些高级使用场景,包括结构体对比、嵌套结构体、动态分配、结构体与函数指针结合、以及在现代 C++ 中的使用。C++ 结构体是一个灵活的工具,既可以用于简单的数据组织,也可以扩展为复杂的类的轻量替代品。在现代 C++ 中,结合标准库的高级特性,结构体的功能更加实用且高效。在 C++ 中,结构体不仅仅是变量的集合,它还可以包含函数、构造函数等,类似于类(如果结构体只在局部范围内使用,且无需重复声明,可以使用匿名结构体。结构体可以嵌套,即一个结构体可以包含另一个结构体作为其成员。原创 2025-02-04 00:00:00 · 1120 阅读 · 0 评论 -
022-C++ 基本的输入输出
接下来,我们将进一步探讨更复杂的输入输出场景和高级应用,包括流操作的细节、缓冲区控制、数据验证、文件流的高级用法等。通过掌握这些输入输出的高级技巧,可以处理更加复杂的交互场景和数据操作需求,同时提高程序的健壮性和可维护性。通过熟练掌握 C++ 的输入输出功能,可以处理多种类型的用户交互和数据操作,为更复杂的程序打下基础!除了标准输入输出流,C++ 还提供文件流来处理文件操作,常用的头文件是。在前面的部分,我们已经学习了 C++ 的基本输入输出操作(是标准日志流,带缓冲区,适用于调试或日志记录。原创 2025-02-04 00:00:00 · 476 阅读 · 0 评论 -
021-C++ 日期 & 时间
在本节中,我们将深入探讨更复杂的日期与时间操作场景,包括性能优化、日期运算、高级格式化,以及在实际开发中的应用。通过熟练掌握这些工具,可以在 C++ 编程中高效地处理日期与时间需求,并编写出功能强大且高性能的时间敏感型应用程序。,可以满足绝大多数的日期与时间处理需求,同时在性能测试和高精度计时中发挥更大的作用。头文件,用于处理高精度的时间点、时间间隔以及时间计算。在前面的部分,我们讨论了 C++ 提供的时间处理方式,包括传统的。提供了多种时间单位(秒、毫秒、微秒等),可以轻松计算时间间隔。原创 2025-02-04 00:00:00 · 822 阅读 · 0 评论 -
021-C++ 引用
在前面部分,我们学习了 C++ 引用的基础知识、应用场景以及左值引用和右值引用的概念。接下来,我们将进一步探讨引用的高级用法、实际案例以及在现代 C++ 编程中的重要作用。引用是 C++ 中非常强大的工具,结合左值引用、右值引用和常量引用,可以高效、安全地操作变量,提高代码的可读性和性能。通过深入掌握引用的特性和应用,可以在 C++ 编程中实现高效、安全的代码设计,同时充分利用现代 C++ 的强大特性。,即根据传递的参数是左值还是右值,正确选择调用对应的函数版本。函数可以返回引用,从而避免拷贝,提高效率。原创 2025-02-04 00:00:00 · 903 阅读 · 0 评论 -
020-C++ 指针
指针是 C++ 的核心概念之一,它是一种变量,用于存储其他变量的内存地址。在前面的部分,我们学习了 C++ 指针的基础概念、动态内存分配、数组操作、指针与函数等内容。通过熟练掌握指针的基础与高级用法,结合智能指针的现代内存管理机制,可以在 C++ 中高效而安全地操作内存,构建复杂的数据结构和程序逻辑。通过熟练掌握指针的概念和用法,可以更高效地进行内存管理和复杂数据结构的操作。通过指针,可以灵活地访问二维数组中的元素。指针数组是一个数组,数组的每个元素是一个指针。指针是一个变量,其值是另一个变量的内存地址。原创 2025-02-04 00:00:00 · 1428 阅读 · 0 评论 -
019-C++ 字符串
在 C++ 中,字符串是用于存储和处理文本数据的核心部分。C++ 提供了两种主要的字符串处理方式:C 风格字符串是基于字符数组的一种字符串表示,最后一个字符是终止符 (空字符),用来标志字符串的结束。初始化 显式初始化: 简写形式: 未初始化的字符数组: 如果未初始化字符数组,数组内容是未定义的。1.2 C 风格字符串的常见操作输入和输出注意: 不能读取包含空格的字符串。若需要读取整行字符串,可以使用 。C 风格字符串操作函数定义在 头文原创 2025-02-04 00:00:00 · 559 阅读 · 0 评论 -
018-C++ 数组
在上一部分中,我们介绍了数组的基本概念、初始化、遍历、多维数组、动态数组及常见操作。通过熟练掌握数组的基本操作和动态分配,可以有效地管理大规模数据,同时提高程序的灵活性和性能。在 C++ 中,数组和指针密切相关。通过熟练掌握数组的高级特性和 STL 容器,可以大大提高程序的灵活性和效率。数组可以作为参数传递给函数,但在函数中实际上是通过指针操作数组。多维数组的每一维的大小(除了第一维)必须在参数中显式声明。),它们是数组的现代替代品,提供了更多功能和更安全的操作。可以使用指针代替下标访问数组元素。原创 2025-02-04 00:00:00 · 482 阅读 · 0 评论 -
017-C++ 数字
C++ 提供了丰富的功能用于处理数字,包括基本的数值类型、数学函数、随机数生成、数值转换等。在编写程序时,数字的使用和处理是非常常见的需求。在上一部分,我们讨论了 C++ 中的数值类型、数学函数、随机数生成和数值转换等内容。通过掌握这些数字处理的基本技巧,可以更高效地解决实际问题并编写功能完善的 C++ 程序。通过熟练掌握这些数字处理的高级技巧,可以更高效地解决复杂的数值问题并优化程序性能。C++ 提供了以下基本的数值类型,用于存储和处理整数和浮点数。头文件,用于定义各种数值类型的限制和边界。原创 2025-02-04 00:00:00 · 507 阅读 · 0 评论 -
016-C++ 函数
函数是 C++ 中的核心组成部分,用于将程序划分为若干独立的功能模块,以提高代码的可读性、复用性和维护性。函数可以接收输入(参数)、执行任务并返回输出(返回值)。C++ 支持多种类型的函数,包括普通函数、递归函数、内联函数、模板函数等。函数是具有以下结构的代码块:示例输出2. 函数的参数函数参数是函数与外界交互的输入。C++ 支持以下几种参数传递方式:输出2.2 按引用传递(Pass by Reference) 将参数的引用传递到函数,函数对参数的修改会反映到原创 2025-02-04 00:00:00 · 581 阅读 · 0 评论 -
015-C++ 判断
语句用于处理多个条件,按照顺序检查每个条件,直到找到满足的条件为止。在上一部分,我们介绍了 C++ 条件语句的基础知识和用法。C++ 提供了多种条件语句,用于根据给定条件执行不同的代码块。语句根据变量的值选择执行对应的代码块。通过合理使用条件判断语句,可以构建功能强大、逻辑清晰的 C++ 程序。语句根据条件的结果(布尔值)来决定是否执行代码块。语句支持变量的初始化,这种用法可以提升代码的可读性和效率。将最可能满足的条件放在最前面,减少不必要的判断次数。的简写形式,适合简单的条件判断。块中再写一个条件语句。原创 2025-02-04 00:00:00 · 722 阅读 · 0 评论 -
014-C++ 循环
循环是编程中的一项重要功能,用于重复执行某些代码块,直到满足指定的条件。在程序中使用循环时,性能优化是不可忽视的问题,尤其是在处理大量数据或嵌套循环时。在前面的基础上,我们已经讨论了 C++ 中的各种循环结构及其用法。通过合理使用循环结构并优化其性能,可以显著提高程序的效率和可读性,同时避免常见的陷阱和错误。,则会形成无限循环。类似,但它至少执行一次,因为条件检查是在循环体执行之后进行的。嵌套循环的时间复杂度通常是指数级的,尽量减少嵌套层级或将其展开。将循环中的固定计算移到循环外部,以减少重复计算的开销。原创 2025-02-04 00:00:00 · 993 阅读 · 0 评论 -
013-C++ 运算符
C++ 提供了丰富的运算符,用于执行各种操作,例如算术运算、逻辑运算、位运算等。运算符是 C++ 编程的核心部分,它们可以用于基本数据类型,也可以通过。C++ 中不同运算符有固定的优先级和结合性,用于决定在表达式中运算符的执行顺序。运算符重载是 C++ 的一项强大功能,它允许用户为自定义类型(如类)定义运算符的行为。C++ 提供了强大的运算符功能,涵盖了从基本数学操作到复杂逻辑控制的方方面面。在上一部分中我们概述了 C++ 中的运算符,并提供了相关示例。的重载需要特别小心,因为它涉及深拷贝和资源管理。原创 2025-02-04 00:00:00 · 878 阅读 · 0 评论 -
012-C++ 运算符
C++ 提供了丰富的运算符,用于执行各种操作,例如算术运算、逻辑运算、位运算等。运算符是 C++ 编程的核心部分,它们可以用于基本数据类型,也可以通过。C++ 提供了多种运算符,涵盖从基本数学运算到复杂逻辑、位操作和用户定义类型操作。位运算符操作二进制位,用于低级编程(如硬件控制、加密算法)。掌握这些运算符及其用法是编写高效、简洁 C++ 程序的关键。大多数运算符都可以在类中重载,以便操作用户定义的类型。逻辑运算符用于逻辑组合,返回布尔值。在用户定义的类型(如类)中使用。关系运算符比较两个值,返回布尔值(原创 2025-02-04 00:00:00 · 300 阅读 · 0 评论 -
011-C++ 存储类
在前面详细介绍了 C++ 存储类的基础知识及其用法,现在我们将深入探讨存储类的高级特性、使用场景、常见问题以及在实际开发中的最佳实践。关键字不仅可以用于声明外部变量和函数,还可以用于指定变量的链接属性,甚至管理 C 和 C++ 的跨语言互操作。通过结合这些存储类,可以更好地控制变量的生命周期、作用域和行为,从而编写出高效和清晰的 C++ 代码。是 C++11 引入的存储类,用于声明线程局部存储变量。通过合理使用这些存储类,可以更高效地管理变量的生命周期和作用域,提升代码的性能和可维护性。原创 2025-02-04 00:00:00 · 1783 阅读 · 0 评论 -
010-C++ 修饰符类型
C++ 中的修饰符(Modifiers)是用来改变变量、函数或类型的属性和行为的关键字。修饰符可以用于调整变量的存储方式、访问权限、值的可修改性,以及类型的大小等。在前面介绍了 C++ 中修饰符的基础知识,接下来将进一步探讨修饰符的高级用法、常见问题,以及在实际开发中的最佳实践。通过合理使用修饰符,可以更好地控制变量的行为、范围和生命周期,从而编写更高效、安全和可读的 C++ 程序。是 C++ 中最常用的修饰符之一,广泛用于变量、指针、函数参数和类成员函数中,用于定义不可修改的数据。原创 2025-02-03 00:00:00 · 666 阅读 · 0 评论 -
009-C++ 常量
在 C++ 中,常量()是指值在程序运行期间不可更改的变量。C++ 提供多种方式来定义和使用常量,以确保数据的不可变性,增强代码的安全性和可读性。 是 C++ 中最常用的关键字,用于定义常量变量。 限定符表示变量的值在初始化后不能被修改。1.2 修饰指针 修饰指针时,具体含义取决于 的位置。(2) 常量指针 指针本身是常量,不能指向其他变量,但指针指向的值可以修改。(3) 指向常量的常量指针 指针本身和指针指向的值都不可修改。2. 使用 定义常量原创 2025-02-03 00:00:00 · 905 阅读 · 0 评论 -
008-C++ 变量作用域
变量遮蔽是指在嵌套作用域中,内层作用域的变量会遮蔽外层作用域中同名的变量。C++ 中,变量的作用域决定了变量的生命周期,以及在哪些部分的代码中可以使用该变量。通过正确理解和使用变量的作用域,可以更好地管理程序中的数据范围和生命周期,从而提高代码的可读性和安全性。通过理解和应用变量作用域的规则,可以编写更高效、更安全的 C++ 代码,同时避免潜在的作用域问题。局部作用域的变量是在函数或代码块内定义的变量,其作用范围仅限于定义它的函数或代码块内。函数作用域的变量是定义在函数内的变量,其作用范围仅限于该函数内。原创 2025-02-02 00:00:00 · 946 阅读 · 0 评论