
C++从入门到入土
文章平均质量分 88
不吃~香菜
积跬步以至千里
展开
-
C++ 入门第27天:异常处理详细讲解
在 C++ 开发中,异常处理是一种重要的错误处理机制,它能够让程序在遇到错误时优雅地处理,而不是直接崩溃。C++ 提供了 trycatchthrow语法来捕获和处理异常。(1)异常的基本概念(2)如何抛出和捕获异常(3)标准异常类(4)自定义异常异常(Exception)是指程序运行时发生的错误,例如:1、除零错误2、访问越界3、内存分配失败4、文件打开失败C++ 提供了异常机制,允许程序在错误发生时抛出异常,并由调用者捕获并处理。如果标准异常不能满足需求,可以定义自己的异常类,继承。原创 2025-03-19 20:19:30 · 569 阅读 · 0 评论 -
C++ 入门第26天:文件与流操作基础
文件是程序中用来存储数据的常用工具。在 C++ 中,文件操作是通过流(Stream)来实现的。C++ 提供了一组标准库类(如ifstreamofstream和fstream)用于文件读写操作。今天,我们将学习如何使用这些工具进行文件的读写,以及处理文件操作中的一些常见问题。以上就是 C++ 11 中文件与流操作的基础知识点了。文件流的类型ifstreamofstream和fstream。文件读写操作:如何打开文件、写入内容、读取内容。文件操作技巧:检查文件是否存在和删除文件。原创 2025-01-08 09:37:50 · 430 阅读 · 0 评论 -
C++ 入门第25天:线程池(Thread Pool)基础
线程池是一种高效的线程管理机制,通过复用一组线程来处理多个任务,避免频繁创建和销毁线程的开销。线程池在高并发场景中尤为重要,是现代程序开发中提升性能和资源利用率的重要工具。今天,我们将学习线程池的基础知识,并实现一个简单的线程池。线程池的核心思想是提前创建一组线程,将任务放入队列中,线程从队列中取出任务并执行。当任务完成后,线程不会销毁,而是返回池中等待下一个任务。线程池的优点降低线程创建和销毁的开销。控制线程的并发数量,避免资源过度消耗。提高任务处理效率。原创 2025-01-07 21:13:07 · 458 阅读 · 0 评论 -
C++ 入门第24天:C++11 多线程基础
多线程是现代计算机程序的重要组成部分,它允许我们同时执行多个任务,从而提高程序的性能。C++11 引入了标准线程库,使多线程编程更加方便和高效。今天,我们将学习 C++ 多线程的基础,包括如何创建和管理线程,以及线程同步的基本知识。多线程是一种允许程序同时运行多个独立任务的技术。每个任务称为一个线程,它们共享相同的进程资源,但独立执行代码。数据处理(如文件读取和写入)用户界面(UI)响应并行计算以上就是 C++ 11 多线程中的线程的创建、同步与线程间通信的基础知识点了。线程的创建。原创 2025-01-05 09:28:50 · 347 阅读 · 0 评论 -
C++ 入门第23天:Lambda 表达式与标准库算法入门
Lambda 表达式和标准库中的算法。这两个特性是现代 C++ 编程的重要组成部分,能让我们的代码更简洁、高效。Lambda 表达式是 C++11 引入的一种匿名函数,用于简化代码。它允许我们直接在需要的地方定义函数,而不需要单独声明或定义。C++ 的标准库算法头文件 提供了一组常用的算法函数,用于处理容器中的数据,例如排序、查找、遍历等。以上就是 C++ 中的Lambda 表达式和标准库算法的基础知识点了。Lambda 表达式是一种简化代码的方法,特别适合在算法函数中使用。原创 2025-01-05 09:18:50 · 663 阅读 · 0 评论 -
C++ 学习第22天:智能指针与异常处理
智能指针和异常处理。智能指针:C++11 引入的智能指针可以帮助我们更安全地管理动态分配的内存,避免内存泄漏。异常处理:C++ 提供了异常处理机制,让我们可以捕获并处理程序运行中的错误。智能指针是 C++11 引入的一个重要特性,用于自动管理动态分配的内存资源。它们使得开发者不再需要手动delete内存,减少了内存泄漏的风险。unique_ptr:独占式智能指针,每个unique_ptr独占一个资源,不能复制,但可以转移所有权。shared_ptr。原创 2024-12-29 15:26:29 · 733 阅读 · 0 评论 -
C++经典面试题50道!!!(秋招必备)
本文档详细列举并解析了 C++ 面试中常见的问题,涵盖了基础知识、高级概念、算法实现等多个方面。每道题目不仅给出了详细的解答,还附带了注意事项和相关知识点的补充说明。主要内容包括变量的声明和定义区别、条件语句的编写、指针和数组的操作、内存分配机制、多态和继承、数据结构的应用、排序算法的实现、常用库函数的区别、宏定义与类型定义的区别、编程规范等方面。适合人群:准备 C++ 面试的应届毕业生,希望深入了解 C++ 核心概念和提高编程技能的研发人员。使用场景及目标:帮助应聘者在秋季招聘中更好地应对 C++ 相原创 2024-12-29 15:10:00 · 1036 阅读 · 0 评论 -
C++ 入门第 21 天:STL 容器之无序映射与无序多重映射
C++ 入门第 21 天:STL 容器之无序映射与无序多重映射一、前言在前一节中,我们学习了无序集合(unordered_set)及其变种。在实际开发中,除了存储单个元素外,我们常常需要存储键值对(key-value)数据。例如,通过一个键快速找到对应的值。在 C++ 中,unordered_map 和 unordered_multimap 便是专门用于处理无序键值对的容器。这两个容器基于哈希表实现,能够以平均 O(1)O(1)O(1) 的时间完成插入、删除和查找操作。原创 2024-12-18 10:39:14 · 759 阅读 · 0 评论 -
C++ 入门第 20 天:STL 容器之无序集合与无序多重集合
C++ 入门第 20 天:STL 容器之无序集合与无序多重集合一、前言在之前的学习中,我们已经掌握了 set 和 multiset 容器,它们都是有序关联容器。但在某些场景下,我们并不关心元素的顺序,而是追求更高的性能。在这种情况下,C++ 提供了 无序容器,例如 unordered_set 和 unordered_multiset,它们的底层基于 哈希表(Hash Table) 实现,能够以常数时间完成插入、删除和查找操作。原创 2024-12-18 10:31:06 · 832 阅读 · 0 评论 -
C++ 入门19:STL 容器之优先队列(priority_queue)
C++ 入门19:STL 容器之优先队列(priority_queue)一、前言今天我们将学习 C++ 标准模板库(STL)中的 priority_queue(优先队列)。优先队列是一种特殊的队列数据结构,它会根据元素的优先级来决定出队的顺序,而不是根据插入的顺序。通常用于需要频繁访问最大值或最小值的场景,比如任务调度、图算法等。原创 2024-12-16 17:30:45 · 907 阅读 · 0 评论 -
C++ 入门18:STL 容器之栈(stack)与队列(queue)
C++ 入门18:STL 容器之栈(stack)与队列(queue)1. 什么是栈(stack)栈(Stack)是一种遵循先进后出(LIFO,Last In First Out)原则的线性数据结构。在栈中,元素的插入和删除操作都发生在栈的顶部。栈的常见应用包括函数调用栈、表达式求值等。原创 2024-12-16 17:05:53 · 905 阅读 · 0 评论 -
C++ 入门17:STL 容器之映射(map)与多重映射(multimap)
在前面文章的学习中,我们学习了 STL 中的 vector、list 等容器。这些容器主要用于存储线性数据,但有时候我们需要存储键值对(key-value pair),这种场景下就需要使用映射(map)容器。今天我们将学习 C++ 标准模板库(STL)中的 map 和 multimap,它们都可以用来存储键值对,记住最重要的区别:map 不允许键重复,而 multimap 允许键重复。原创 2024-10-24 11:24:35 · 1171 阅读 · 0 评论 -
C++ 入门15:STL 容器之列表(list)
在前面文章的学习中,我们学习了C++标准模板库(STL)中强大且灵活的向量容器。今天,我们将继续学习另一种常用的容器——列表(list)。列表是一种双向链表,与向量不同,它在插入和删除元素时效率更高,尤其适合需要频繁进行这类操作的场景。原创 2024-07-16 23:53:16 · 1499 阅读 · 0 评论 -
C++ 入门16:STL 容器之集合(set)与多重集合(multiset)
在上一篇文章中,我们深入了解了列表(list)容器,一种双向链表,它在插入和删除元素方面表现卓越。今天我们学习另一种强大的 STL 容器:集合(set)和多重集合(multiset)。这两种容器提供了有序数据存储的功能,能够帮助我们在开发中处理各种需要排序和唯一性检查的场景。原创 2024-07-17 17:12:49 · 1220 阅读 · 0 评论 -
C++ 入门14:STL 容器之向量(vector)
在前面文章的学习中,我们学习了类和对象的基础知识、构造函数、拷贝构造函数、静态成员、常量成员、运算符重载、友元函数、友元类、继承和派生类、虚函数和多态、模板以及异常处理。今天,我们将学习 C++ 标准模板库(STL)中的一种重要容器——向量(vector)。向量是一种动态数组,可以方便地进行元素的添加和删除操作。这是STL里非常常用的一种,需要好好掌握。原创 2024-07-15 21:55:07 · 1064 阅读 · 0 评论 -
C++ 入门13:异常处理
在前面文章的学习中,我们学习了类和对象的基础知识、构造函数、拷贝构造函数、静态成员、常量成员、运算符重载、友元函数、友元类、继承和派生类、虚函数和多态以及模板。今天,我们将学习 C++ 中的异常处理。异常处理是 C++ 提供的一种处理程序运行时错误的机制,它使得程序可以优雅地处理错误,而不是简单地崩溃。是的,就是优雅的处理代码,通过异常处理机制,我们可以实现即使程序有不可执行的错误却依旧能正常运行。原创 2024-07-15 21:37:42 · 1513 阅读 · 0 评论 -
C++ 入门12:模板(Template)
在前面文章的学习中,我们掌握了类和对象的基础知识、构造函数、拷贝构造函数、静态成员、常量成员、运算符重载、友元函数、友元类、继承和派生类,以及虚函数和多态。今天,我们将学习 C++ 中的模板。模板是 C++ 中的一种强大的功能,它使得我们可以编写通用的代码。原创 2024-07-14 13:53:28 · 1015 阅读 · 0 评论 -
C++ 入门11:虚函数和多态
在前面的文章学习中,我们了解了类和对象的基础知识、构造函数、拷贝构造函数、静态成员、常量成员、运算符重载、友元函数、友元类以及继承和派生类。今天,我们将学习 C++ 中的虚函数和多态。多态是面向对象编程中的一个重要概念,它使得相同的操作可以作用于不同的对象,从而提高代码的灵活性和可扩展性。原创 2024-07-14 13:40:19 · 1021 阅读 · 0 评论 -
C++ 入门10:继承和派生类
在前面文章的学习中,我们了解了类和对象的基础知识、构造函数、拷贝构造函数、静态成员、常量成员、运算符重载、友元函数和友元类。今天,我们将学习 C++ 中的继承和派生类。继承是面向对象编程中的一个重要概念,它允许我们创建一个新的类,该类继承一个或多个现有类的属性和方法,从而实现代码的重用和扩展。原创 2024-07-13 16:02:05 · 1492 阅读 · 0 评论 -
C++ 入门09:友元函数和友元类
在前面文章的学习中,我们了解了类和对象的基础知识、构造函数、拷贝构造函数、静态成员、常量成员以及运算符重载。今天,我们将学习 C++ 中的友元函数和友元类。友元使得非成员函数或其他类可以访问类的私有成员,从而提高了类的灵活性和可扩展性。原创 2024-07-13 15:47:12 · 1050 阅读 · 0 评论 -
C++ 入门08:运算符重载
在前面的文章学习中,我们学习了类和对象的基础知识以及构造函数、拷贝构造函数、静态成员和常量成员。今天,我们将深入学习运算符重载。运算符重载是 C++ 的一大特色,它使得我们可以对类对象使用类似于基本数据类型的运算符,从而使代码更加简洁和易读。原创 2024-07-11 18:23:19 · 1057 阅读 · 0 评论 -
C++ 入门07:静态成员和常量成员
在前面文章的学习中,我们掌握了类和对象的基础知识以及构造函数的重载与拷贝构造函数。今天,我们将学习类的静态成员和常量成员。静态成员和常量成员是面向对象编程中重要的概念,了解它们有助于我们编写更高效和更安全的代码。原创 2024-07-11 18:10:30 · 1574 阅读 · 0 评论 -
C++ 入门06:类的进阶(构造函数的重载与拷贝构造函数)
在前面文章的学习中,我们了解了 C++ 的基本结构、变量、输入输出、控制结构、循环、函数、作用域、数组与字符串以及类和对象的基础知识。今天,我们将深入学习类的进阶内容,特别是构造函数的重载与拷贝构造函数。原创 2024-07-11 00:21:20 · 1171 阅读 · 0 评论 -
C++ 入门05:类和对象
在前面文章的学习中,我们了解了 C++ 的基本结构、变量、输入输出、控制结构、循环、函数、作用域以及数组与字符串。今天,我们将深入学习面向对象编程(OOP)的核心概念:类和对象。这是编写复杂和模块化程序的重要基础。原创 2024-07-11 00:11:40 · 1166 阅读 · 0 评论 -
C++ 入门04:数组与字符串
今天,我们将在此基础上进一步学习数组与字符串这两大核心数据结构。数组作为一组具有相同类型的变量的集合,是处理一组数据(如学生成绩、商品信息等)时不可或缺的工具。通过数组,我们可以更加便捷地对多个相关数据进行操作和管理。原创 2024-07-09 21:42:04 · 969 阅读 · 0 评论 -
C++ 入门03:函数与作用域
今天的学习内容则是C++中的函数与作用域。这部分内容是编写模块化代码和管理变量范围的关键。函数,作为任何一门编程的基石之一,它允许我们将代码分割成可重用的独立块,每个块都执行特定的任务。原创 2024-07-09 21:20:18 · 1336 阅读 · 0 评论 -
C++ 入门02:控制结构和循环
在上一篇文章学习中,我们了解了 C++ 程序的基本结构、注释、数据类型、变量以及输入输出的基本用法。这一篇,我们将继续深入学习 C++ 的控制结构和循环。原创 2024-07-08 19:26:28 · 1086 阅读 · 0 评论 -
C++ 入门01:初识 C++
C++作为一种兼具高性能与灵活性的编程语言,其强大的面向对象特性和广泛的应用领域(如系统级编程、游戏开发、科学计算等)使其成为世界上最受欢迎的语言之一。在本系列文章中,我将详细记录我学习C++的基础知识点,还会尝试增加一些深度和广度,希望对同样是初学者的你有所帮助。原创 2024-07-08 18:42:47 · 628 阅读 · 0 评论