
C++零基础教程
文章平均质量分 84
本专栏专为零基础的学习者设计,带你从零开始学习 C++,逐步掌握 C++ 语言的基本语法、编程思想,并最终具备编写实用程序的能力。无论你是想进入软件开发、游戏开发、嵌入式开发,还是学习数据结构和算法,C++ 都是一个强大的选择!
花落已飘
阿里云博客专家,CSDN万粉博主,华为云享专家。擅长C语言单片机等技术智能小车带设计,单片机C语言设计。可以带徒弟学C语言,C加加,Linux,单片机,QT等嵌入式技术。也可承接项目。
展开
-
C语言调用C++函数
i < 5;i++) {std::cout << "线程消息: " << message << " 计数: " << i << std::endl;// 告诉编译器这个函数用 C 的方式命名,方便 C 调用t.detach();std::cout << "C++线程已创建并分离" << std::endl;│ C语言代码 ││ main.c ││ include "thread_helper.h" → 声明函数 create_cpp_thread│▼。原创 2025-04-19 07:53:03 · 54 阅读 · 0 评论 -
C++使用Json保存配置参数
使用 JSON 来管理配置文件的思路通常是通过将配置信息以结构化的方式存储在一个易于读取和修改的文本文件中。JSON(JavaScript Object Notation)作为一种广泛使用的轻量级数据交换格式,特别适用于配置文件管理,因为它既简单易读又容易与编程语言的对象模型对接。以下是使用 JSON 管理配置文件的核心思路及其实现步骤。首先,你需要确定配置文件的结构。这取决于你的应用程序需要管理的配置项。这里的配置文件包含了两个主要部分: 和 。每个部分都是一个键值对,值可以是基本类型(如字符串、数原创 2025-02-09 09:28:06 · 635 阅读 · 0 评论 -
C++中的动态内存分配
在C语言中大家都知道怎么样分配一块内存,使用malloc,今天我将给大家介绍在C++中如何进行动态内存分配。了解动态内存分配是非常重要的,在程序开发中经常遇到的BUG可能就是因为忽略了动态内存的释放而导致程序出现问题。原创 2022-10-15 11:13:20 · 2878 阅读 · 1 评论 -
C++ 函数重载
这篇文章将给大家介绍C++中的函数重载,函数重载在C++中是非常重要的一个概念希望大家能够好好理解。1.用同一个函数名定义不同的函数2.重载函数名字相同参数不同重载函数示例:下面三个函数构成了重载函数}注意点:1.函数的返回值不作为函数重载的依据。2.重载函数的类型不同3.重载函数在本质上是相互独立的函数4.函数重载是由函数名和参数列表决定的函数重载通过函数参数列表区分不同的同名函数,重载函数的本质是不同的函数。原创 2022-10-14 20:10:11 · 865 阅读 · 0 评论 -
C++中的类简要介绍
本篇文章讲给大家介绍一个C++中重要的概念,了解了这个概念大家就明白了为什么C++会叫做面向对象编程了。其实我们生活中有很多类的例子,就像老虎是猫科动物可以看作一个大类,昆虫又是一个大类,机动车和非机动车又是不同的类。通过发现就可以知道自然界中有很多很多的类。我们通常把行为或者属性相近的事物归为同一个类。对象又是什么?这里的对象可不是说的男女朋友的这种对象。对象就是类的一个具体形态,也就相当于是一个独立的个体。利用好C加加中的类是学好C加加非常重要的一部分,希望大家在学习类时能够重视起来。原创 2023-03-08 12:38:34 · 810 阅读 · 0 评论 -
C++中的新式类型转换
本篇文章给大家介绍C++中的几种新式类型转换。这四个强制类型转换是经常使用的,希望大家掌握。原创 2022-12-18 19:22:49 · 390 阅读 · 0 评论 -
C++智能指针简介
这篇文章将为大家带来智能指针,很多人都听过指针但是智能指针对于大家来说可能会很陌生。智能指针使用起来是非常方便的,有了智能指针我们就可以避免动态内存申请时出现内存泄漏等问题了。大家下去多理解一下智能指针,这个在以后的工程开发当中还是很有用的,有什么地方不懂的大家可以留言或者私信。原创 2022-11-20 19:26:30 · 773 阅读 · 0 评论 -
C++中的string类
在C语言中其实是不存在字符串类型的,C语言使用字符数组来模拟字符串,在C++标准库中添加了string类这个类型。在C++中使用string类操作字符串是非常的方便的。原创 2022-11-28 15:55:15 · 1306 阅读 · 0 评论 -
C++中的based for 循环
范围基for循环简化代码:不需要显式地使用迭代器或索引。提高可读性:代码更加简洁易懂。减少错误:避免了手动操作索引或迭代器。性能优化:可以使用引用来避免不必要的元素拷贝,尤其是在处理较大数据类型时。使用范围基for循环,可以极大地提高代码的简洁性和可读性,尤其是在需要遍历容器时。原创 2025-02-07 21:12:53 · 416 阅读 · 0 评论 -
C++中的Utilities
Utilities主要是一些工具集,涵盖了很多常用的操作,目的是帮助开发者简化常见任务、增强程序的功能性。C++ 标准库中提供了大量的功能性工具,帮助开发者处理不同的场景。原创 2025-02-08 07:00:00 · 606 阅读 · 0 评论 -
C++中的unordered_map
默认情况下,使用std::hash来计算键的哈希值。如果要使用自定义的类型作为键,可以提供自定义的哈希函数。int age;int age;} };} };return 0;int age;} };} };return 0;return 0;原创 2025-02-07 20:57:15 · 486 阅读 · 0 评论 -
enum class的使用
枚举类型是全局的,它的枚举常量会被直接放入全局作用域。枚举值会被转换为整数,容易造成类型混乱。中,枚举常量会被引入到全局作用域,这可能会导致命名冲突。,但你可以显式指定底层类型,使得枚举类型更具灵活性。值与整数或其他枚举类型混合使用,这样会导致潜在的错误。是现代 C++ 编程中推荐使用的枚举类型,它比传统的。时,你可以指定枚举的底层类型,从而控制其存储类型。时,枚举值不会与其他枚举或变量产生冲突。类型内部的,它不再与其他类型自动转换。中,枚举值是作用域限定的,必须使用。中的作用域污染和类型不安全的问题。原创 2025-02-06 21:26:54 · 986 阅读 · 0 评论 -
C++中的std::bind
std::bind是 C++11 引入的一个强大的工具,能够将函数或成员函数与固定的参数绑定,创建一个新的可调用对象。它支持占位符_2等,用于表示参数的位置。可以用来绑定普通函数、成员函数,甚至是自定义的函数对象。尽管std::bind功能强大,但在某些情况下,Lambda 表达式可能是更直观和高效的选择。std::bind是一个非常有用的函数适配工具,尤其在回调机制、异步编程、以及 STL 算法中都有广泛的应用。原创 2025-02-06 21:18:13 · 589 阅读 · 0 评论 -
C++中命名空间(namespace)
命名空间是用来组织代码的工具,避免命名冲突。使用运算符来访问命名空间中的成员,使用using声明来简化代码。支持嵌套命名空间和匿名命名空间。命名空间是全局的,可以跨多个文件使用。使用命名空间时,建议避免在头文件中使用,以避免不必要的命名冲突。命名空间是 C++ 中非常强大的组织工具,特别适用于大型项目和多库开发中,能有效避免命名冲突,增强代码的模块化和可维护性。原创 2025-02-06 21:12:14 · 448 阅读 · 0 评论 -
C++ auto的使用
auto是 C++ 中用来自动推导变量类型的关键字,能简化代码,减少重复。auto常用于 STL 容器的迭代器、复杂的模板类型、指针、引用等类型较复杂的变量。auto可以与和const一起使用,以推导引用类型和常量类型。使用auto可以让代码更简洁和灵活,尤其是在类型推导复杂的情况下。auto是 C++11 引入的特性,从 C++14 开始,auto在许多地方得到了更广泛的应用,它大大提高了代码的可维护性和可读性。原创 2025-02-06 21:06:29 · 650 阅读 · 0 评论 -
C++中的pair,pair和map的结合
pair是 C++ 中一个非常常用的模板类,用于存储两个相关的值,可以是不同类型的值。map是一个基于红黑树实现的容器,存储键值对,其中每个元素都是一个pair。pair和map的结合非常自然,因为map存储的正是键值对(pair可以通过first和second访问pair中的元素。使用insertfind等方法时,map中的每个元素都是一个pair,包含键和值。这种结合使得map成为一个非常强大和灵活的数据结构,可以广泛应用于许多需要关联存储的数据管理场景。原创 2025-02-06 20:44:31 · 1348 阅读 · 0 评论 -
C++的or and not
关键字操作符说明orand&&逻辑“与”,只有两个操作数都为true,结果才为truenot!逻辑“非”,对操作数取反,true变falsefalse变trueorand和not为逻辑运算提供了替代符号,它们和标准的||&&!运算符功能完全相同,可以提高代码的可读性,尤其在复杂逻辑表达式中。原创 2025-02-06 20:34:07 · 669 阅读 · 0 评论 -
C++类嵌套
特性说明定义嵌套类在外部类内部定义另一个类。访问控制嵌套类的访问权限由外部类的控制修饰符(publicprivateprotected)决定。嵌套类的作用用于封装实现细节、限制访问、增强层次结构。静态成员嵌套类的静态成员需要在类外进行定义。友元类外部类可以指定嵌套类为其友元类,使嵌套类访问外部类的私有成员。类嵌套在 C++ 中是一种非常强大的工具,有助于组织复杂代码,提供更好的封装和抽象能力。原创 2025-02-06 20:27:59 · 991 阅读 · 0 评论 -
C++ labmbd表达式
语法说明[] {}无参数、无返回值的 Lambda带参数和返回值的 Lambda[x] {}值捕获变量x[&x] {}引用捕获变量x[=] {}值捕获所有变量[&] {}引用捕获所有变量mutable允许修改值捕获的变量存储 Lambda 并支持递归Lambda 表达式是 C++ 现代编程的重要特性,广泛用于 STL、并行计算和回调函数中。原创 2025-02-06 20:21:39 · 1487 阅读 · 0 评论 -
C++线程基础使用方法
线程是程序执行的基本单位,多个线程可以共享同一进程的资源(如内存、文件句柄等)。原创 2024-11-18 21:21:44 · 1229 阅读 · 0 评论 -
C++中的.hpp文件的作用
在。原创 2024-11-18 21:10:02 · 1565 阅读 · 0 评论 -
C++中的STL
在 C++ 中,是一个非常重要的标准库类,提供了处理和操作字符串的功能。是 C++ 标准模板库(STL)中的一部分,定义在头文件中。它封装了一个动态大小的字符数组,并提供了许多操作字符串的成员函数和运算符。类封装了字符串的动态内存管理,并提供了多种操作字符串的功能。它是一个高层次的抽象,简化了字符串的操作。提供了丰富的功能来操作和处理字符串,包括构造、赋值、访问、修改、查找、替换等。通过这些方法,你可以高效地处理和操作文本数据,简化了传统 C 风格字符串的处理难度。原创 2024-08-13 19:08:36 · 1233 阅读 · 0 评论 -
C++零基础教程(引用)
本篇文章我们来讲解C++中非常重要的一个概念,这个概念就是引用,引用在C++中经常使用,下面就让我们来看看到底什么是引用吧。在C++中,引用是一种别名,它允许我们使用一个已经存在的对象来创建一个新的名称。引用提供了一种更直观、简洁和安全的方式来操作对象,同时也增加了代码的可读性。引用必须在声明时进行初始化,并指定它所引用的对象,否则会导致编译错误。引用初始化后,一旦绑定到一个对象,就不能再改变其绑定的对象。// 引用声明和初始化。原创 2023-08-04 09:15:36 · 618 阅读 · 1 评论 -
C++零基础教程(新式类型转换)
本篇文章我们来讲解C++中的新式类型转换,在C语言中遇到类型转换我们一般使用强制类型转换,但是这种转换的方式是不安全的,可能会导致截断的发生,C++引入的新式类型转换解决了这个问题。C++中的新式类型转换是一种更加安全和灵活的类型转换方法,它提供了四种不同的转换操作符,分别是static_cast、dynamic_cast、reinterpret_cast和const_cast。每种转换操作符都有其特定的用途和限制。本篇文章就讲解到这里,新式类型转换大家必须掌握好。原创 2023-07-31 09:50:57 · 273 阅读 · 0 评论 -
C++零基础教程(拷贝构造函数)
本篇文章来讲解C++中的拷贝构造函数,本篇文章就讲解到这里,这一块的知识还是非常重要的大家务必要掌握好。原创 2023-07-26 07:00:00 · 874 阅读 · 0 评论 -
C++零基础教程(抽象类和接口)
本篇文章来讲解抽象类和接口的概念,抽象类和接口都需要依靠我们之前讲解的虚函数来实现,那么我们就来看看如何使用虚函数来实现抽象类和接口吧。本篇文章就讲解到这里,下篇文章我们继续讲解。原创 2023-07-20 00:00:00 · 1916 阅读 · 1 评论 -
C++零基础教程(父子间冲突)
本篇文章我们来讲解一下父子间的冲突问题,在C++中父子之前的冲突是非常常见的,这篇文章就带大家来学习一下父子间冲突。在子类中,可以定义和父类相同名字的变量,这会隐藏父类中相同名字的成员变量。这种情况下,子类中的成员变量会覆盖父类中相同名字的成员变量,导致父类的成员变量对子类不可见。} };} };// 子类的x变量 obj . Base :: x = 3;// 父类的x变量 return 0;原创 2023-07-20 00:00:00 · 242 阅读 · 0 评论 -
C++零基础教程(类的继承)
本篇文章我们来讲解类的继承,继承在C++中是非常重要的概念,这里需要大家认真的学习一下。本篇文章主要讲解到了继承,这个概念需要大家牢牢掌握,在继承中大家需要注意public ,protected,private这三个访问权限的不同区别。原创 2023-07-19 00:00:00 · 262 阅读 · 0 评论 -
C++零基础教程(C++的类2)
本篇文章继续讲解C++中的类。本篇文章就讲解到这里,下篇文章继续讲解C++。原创 2023-07-18 01:00:00 · 181 阅读 · 0 评论 -
C++零基础教程(C++中的类1)
本篇文章我们继续来讲解C++中的类。原创 2023-07-13 09:49:51 · 751 阅读 · 2 评论 -
C++零基础教程(C++中的类)
在C++中,类是一种用户自定义的数据类型,用于封装相关的数据和功能。类提供了一种面向对象的编程方式,允许将数据和对数据的操作封装在一个实体中,称为对象。下面是一些关于C++类的主要概念:1.数据成员(Data Members):类的数据成员是用于存储对象的数据的变量或属性。这些成员可以是任何C++数据类型,包括基本类型(如整数、浮点数、字符等)或其他用户定义的类类型。数据成员定义了对象的状态或属性。2.成员函数(Member Functions):类中的成员函数是类的行为或操作。原创 2023-07-12 01:00:00 · 260 阅读 · 0 评论 -
C++零基础教程(函数重载)
本篇文章来讲解函数重载,函数重载在C++中是非常重要的一个概念。本篇文章就讲解到这里,希望大家好好总结一下。这里我列出一些关键点:1.函数名相同:重载函数必须使用相同的函数名。2.参数列表不同:重载函数的参数列表必须不同,可以有不同的参数类型、参数个数或参数顺序。3.返回类型不同:重载函数可以具有不同的返回类型,但仅仅改变返回类型不足以满足函数重载的要求,必须与其他参数列表不同。4.在相同作用域内定义:重载函数必须在相同的作用域内定义,可以是全局作用域或类的成员函数。原创 2023-07-11 18:29:52 · 693 阅读 · 3 评论 -
C++零基础教程(C++中的字符串)
本篇文章我们来讲解一下C++中的字符串,在C++中字符串的使用比在C语言中使用方便了很多,那么本篇文章我们就来看看到底和C语言中的字符串都有哪些不同吧。C++中的string类是C++标准库提供的一个高级字符串类型,它封装了字符串的操作函数和方法,提供了方便、安全、易用的方式来处理字符串。使用string类可以避免手动管理内存和处理C风格字符串的复杂性。以下是对C++中string类的一些重要特性和常用操作的介绍:1.引入头文件:使用string类前,需要包含头文件。;原创 2023-06-27 15:35:02 · 846 阅读 · 0 评论 -
C++零基础教程(C++中的打印)
本篇文章我们来学习如何在C++中打印数据,在C语言中我们会使用hello world来打印数据,那么在C++中是如何实现数据的打印呢?本篇文章就讲解到这里,希望大家好好理解并做实验尝试。原创 2023-06-27 15:30:48 · 11819 阅读 · 0 评论 -
C++零基础全面教程(开篇介绍)
在我们的努力下C语言零基础教程已经更新完了,下面我准备开始更新C++零基础教程了,希望大家继续跟着我的脚步一起学习,加油!大家一起加油让我们一起打造一套最好最适合0基础的同学学习的教程。原创 2023-06-27 15:09:54 · 458 阅读 · 0 评论