- 零碎概念 零碎概念
- 直接和间接访问 直接和间接访问
- C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。C++中的 struct 和 class 基本是通用的,唯有几个细节不同:使用 class 时,类中的成员默认都是 private 属性的;而使用 struct 时,结构体中的成员默... C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。C++中的 struct 和 class 基本是通用的,唯有几个细节不同:使用 class 时,类中的成员默认都是 private 属性的;而使用 struct 时,结构体中的成员默...
- @TOC 前言本STL使用VS2022+C++20版本C++标准库(Standard Template Library,简称STL)是C++中非常强大和常用的一组容器、算法和函数模板,它能大大简化程序开发和提高开发效率。在STL中,string类是对字符串进行处理的重要组成部分。本文将向您介绍string类的三个基本操作:查找子串(find)、返回子串(substr)和交换操作(swap),... @TOC 前言本STL使用VS2022+C++20版本C++标准库(Standard Template Library,简称STL)是C++中非常强大和常用的一组容器、算法和函数模板,它能大大简化程序开发和提高开发效率。在STL中,string类是对字符串进行处理的重要组成部分。本文将向您介绍string类的三个基本操作:查找子串(find)、返回子串(substr)和交换操作(swap),...
- 在类中,如果你不希望某些数据被修改,可以使用const关键字加以限定。const 可以用来修饰成员变量和成员函数。const成员变量const 成员变量的用法和普通 const 变量的用法相似,只需要在声明时加上 const 关键字。初始化 const 成员变量只有一种方法,就是通过构造函数的初始化列表,这点在前面已经讲到了,请猛击《C++初始化列表》回顾。const成员函数(常成员函数)c... 在类中,如果你不希望某些数据被修改,可以使用const关键字加以限定。const 可以用来修饰成员变量和成员函数。const成员变量const 成员变量的用法和普通 const 变量的用法相似,只需要在声明时加上 const 关键字。初始化 const 成员变量只有一种方法,就是通过构造函数的初始化列表,这点在前面已经讲到了,请猛击《C++初始化列表》回顾。const成员函数(常成员函数)c...
- @TOC 前言本篇文章我们来讲解C++中非常重要的一个概念,这个概念就是引用,引用在C++中经常使用,下面就让我们来看看到底什么是引用吧。 一、引用概念介绍及使用方法在C++中,引用是一种别名,它允许我们使用一个已经存在的对象来创建一个新的名称。引用提供了一种更直观、简洁和安全的方式来操作对象,同时也增加了代码的可读性。以下是关于C++中引用的一些重要特点和用法:1.引用的声明和初始化:引用... @TOC 前言本篇文章我们来讲解C++中非常重要的一个概念,这个概念就是引用,引用在C++中经常使用,下面就让我们来看看到底什么是引用吧。 一、引用概念介绍及使用方法在C++中,引用是一种别名,它允许我们使用一个已经存在的对象来创建一个新的名称。引用提供了一种更直观、简洁和安全的方式来操作对象,同时也增加了代码的可读性。以下是关于C++中引用的一些重要特点和用法:1.引用的声明和初始化:引用...
- @TOC 前言本篇文章我们来讲解C++中的新式类型转换,在C语言中遇到类型转换我们一般使用强制类型转换,但是这种转换的方式是不安全的,可能会导致截断的发生,C++引入的新式类型转换解决了这个问题。C++中的新式类型转换是一种更加安全和灵活的类型转换方法,它提供了四种不同的转换操作符,分别是static_cast、dynamic_cast、reinterpret_cast和const_cast... @TOC 前言本篇文章我们来讲解C++中的新式类型转换,在C语言中遇到类型转换我们一般使用强制类型转换,但是这种转换的方式是不安全的,可能会导致截断的发生,C++引入的新式类型转换解决了这个问题。C++中的新式类型转换是一种更加安全和灵活的类型转换方法,它提供了四种不同的转换操作符,分别是static_cast、dynamic_cast、reinterpret_cast和const_cast...
- STL(Standard Template Library)库中的string类是一个字符串类,它提供了管理字符串的各种方法和功能。它是一个可变长度的字符序列,可以自动调整自身大小以适应字符串的长度变化。在之前我们操作字符串都是通过自己去实现相关的函数来进行操作,而且稍不留神就会内存泄漏,在C++中我们更倾向于使用string类来完成和字符串相关的操作。使用string类相比于使用C语言的字符串有 STL(Standard Template Library)库中的string类是一个字符串类,它提供了管理字符串的各种方法和功能。它是一个可变长度的字符序列,可以自动调整自身大小以适应字符串的长度变化。在之前我们操作字符串都是通过自己去实现相关的函数来进行操作,而且稍不留神就会内存泄漏,在C++中我们更倾向于使用string类来完成和字符串相关的操作。使用string类相比于使用C语言的字符串有
- property_tree 是 Boost 库中的一个头文件库,用于处理和解析基于 XML、Json 或者 INFO 格式的数据。 property_tree 可以提供一个轻量级的、灵活的、基于二叉数的通用容器,可以处理包括简单值(如 int、float)和复杂数据结构(如结构体和嵌套容器)在内的各种数据类型。它可以解析数据文件到内存中,然后通过迭代器访问它们。在 Boost 库中,prop... property_tree 是 Boost 库中的一个头文件库,用于处理和解析基于 XML、Json 或者 INFO 格式的数据。 property_tree 可以提供一个轻量级的、灵活的、基于二叉数的通用容器,可以处理包括简单值(如 int、float)和复杂数据结构(如结构体和嵌套容器)在内的各种数据类型。它可以解析数据文件到内存中,然后通过迭代器访问它们。在 Boost 库中,prop...
- 拷贝对象时编译器的一些优化在有些拷贝对象的情况下,C++编译器会做一些优化,减少对象的拷贝,这个在有些场景下还是非常有用的。那其实在上面我们已经提到过一种场景了: 我们说这种场景会发生一个隐式类型转换,先拿1去构造一个临时对象,然后再拷贝构造给对象a。 但是呢,编译器会进行一个优化,直接拿1去构造对象a。那除此之外,在某些传参和传返回值的过程,也会有这样的优化。来看这个类:class A{p... 拷贝对象时编译器的一些优化在有些拷贝对象的情况下,C++编译器会做一些优化,减少对象的拷贝,这个在有些场景下还是非常有用的。那其实在上面我们已经提到过一种场景了: 我们说这种场景会发生一个隐式类型转换,先拿1去构造一个临时对象,然后再拷贝构造给对象a。 但是呢,编译器会进行一个优化,直接拿1去构造对象a。那除此之外,在某些传参和传返回值的过程,也会有这样的优化。来看这个类:class A{p...
- 匿名对象接下来我们再来学一个知识叫做匿名对象,什么是匿名对象呢?<font color = black>那现在呢有这样一个类: 我们现在想要那这个类去创建对象,那除了我们之前学的方法之外,其实我们还可以这样创建对象: 🆗,这里我们就拿A这个类创建了一个匿名对象。 匿名对象的特点就是没有名字,但是它的生命周期只在创建它的这一行。 我们可以来证明一下: 我们通过调式可以发现,113行执行... 匿名对象接下来我们再来学一个知识叫做匿名对象,什么是匿名对象呢?<font color = black>那现在呢有这样一个类: 我们现在想要那这个类去创建对象,那除了我们之前学的方法之外,其实我们还可以这样创建对象: 🆗,这里我们就拿A这个类创建了一个匿名对象。 匿名对象的特点就是没有名字,但是它的生命周期只在创建它的这一行。 我们可以来证明一下: 我们通过调式可以发现,113行执行...
- Boost 库是一个由C/C++语言的开发者创建并更新维护的开源类库,其提供了许多功能强大的程序库和工具,用于开发高质量、可移植、高效的C应用程序。Boost库可以作为标准C库的后备,通常被称为准标准库,是C标准化进程的重要开发引擎之一。使用Boost库可以加速C应用程序的开发过程,提高代码质量和性能,并且可以适用于多种不同的系统平台和编译器。Boost库已被广泛应用于许多不同领域的C++应... Boost 库是一个由C/C++语言的开发者创建并更新维护的开源类库,其提供了许多功能强大的程序库和工具,用于开发高质量、可移植、高效的C应用程序。Boost库可以作为标准C库的后备,通常被称为准标准库,是C标准化进程的重要开发引擎之一。使用Boost库可以加速C应用程序的开发过程,提高代码质量和性能,并且可以适用于多种不同的系统平台和编译器。Boost库已被广泛应用于许多不同领域的C++应...
- 【C++笔记】C++之类与对象(上)1、类是结构体的升级2、类中可以定义的东西3、类访问限定符4、类的声明5、类的实例化(定义)6、类的大小的计算7、this指针1、类是结构体的升级C++的一个显著特征就是兼容C语言,所以C++把结构体“升级”成了“类”,之所以是“升级”是因为,在C++中的结构体及支持以前C语言的结构体的玩法,也可以支持C++中类的玩法。例如单链表节点这个类,我们既可以写成... 【C++笔记】C++之类与对象(上)1、类是结构体的升级2、类中可以定义的东西3、类访问限定符4、类的声明5、类的实例化(定义)6、类的大小的计算7、this指针1、类是结构体的升级C++的一个显著特征就是兼容C语言,所以C++把结构体“升级”成了“类”,之所以是“升级”是因为,在C++中的结构体及支持以前C语言的结构体的玩法,也可以支持C++中类的玩法。例如单链表节点这个类,我们既可以写成...
- C++输入&输出新生婴儿会以自己独特的方式向这个崭新的世界打招呼,C++刚出来后,也算是一个新事物。3.1 输入输出那C++是否也应该向这个美好的世界来声问候呢?我们来看下C++是如何来实现问候的:#include<iostream>// std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中using namespace std;int main(){ cou... C++输入&输出新生婴儿会以自己独特的方式向这个崭新的世界打招呼,C++刚出来后,也算是一个新事物。3.1 输入输出那C++是否也应该向这个美好的世界来声问候呢?我们来看下C++是如何来实现问候的:#include<iostream>// std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中using namespace std;int main(){ cou...
- 把vector的元素,拼接成为一个字符串。比如元素类型为string的时候,用std::copy函数#include <iostream>#include <sstream>#include <vector>#include <algorithm>#include <iterator>void func1() { std::stringstream ss; std::vector... 把vector的元素,拼接成为一个字符串。比如元素类型为string的时候,用std::copy函数#include <iostream>#include <sstream>#include <vector>#include <algorithm>#include <iterator>void func1() { std::stringstream ss; std::vector...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签