- typeid 运算符用来获取一个表达式的类型信息。类型信息对于编程语言非常重要,它描述了数据的各种属性:对于基本类型(int、float 等C++内置类型)的数据,类型信息所包含的内容比较简单,主要是指数据的类型。对于类类型的数据(也就是对象),类型信息是指对象所属的类、所包含的成员、所在的继承关系等。类型信息是创建数据的模板,数据占用多大内存、能进行什么样的操作、该如何操作等,这些都由它的... typeid 运算符用来获取一个表达式的类型信息。类型信息对于编程语言非常重要,它描述了数据的各种属性:对于基本类型(int、float 等C++内置类型)的数据,类型信息所包含的内容比较简单,主要是指数据的类型。对于类类型的数据(也就是对象),类型信息是指对象所属的类、所包含的成员、所在的继承关系等。类型信息是创建数据的模板,数据占用多大内存、能进行什么样的操作、该如何操作等,这些都由它的...
- STL(标准模板库)是一个C++标准库,其中包括一些通用的算法、容器和函数对象。STL的容器是C++ STL库的重要组成部分,它们提供了一种方便的方式来管理同类型的对象。其中,STLstring是一种常用的字符串类型。STLstring是一个类,它封装了字符串的操作,并提供了一组成员函数。STLstring的实现使用了动态的内存分配技术,这意味着字符串的大小可以随时改变。STLstring还提供了 STL(标准模板库)是一个C++标准库,其中包括一些通用的算法、容器和函数对象。STL的容器是C++ STL库的重要组成部分,它们提供了一种方便的方式来管理同类型的对象。其中,STLstring是一种常用的字符串类型。STLstring是一个类,它封装了字符串的操作,并提供了一组成员函数。STLstring的实现使用了动态的内存分配技术,这意味着字符串的大小可以随时改变。STLstring还提供了
- @TOC 前言在C++11标准中引入了移动语义的概念,通过移动构造函数和移动赋值操作符,我们可以更高效地管理对象的资源。本文将以通俗易懂的方式详细解释移动构造函数和移动赋值操作符的概念,并通过生动的比喻帮助读者更好地理解这两个概念。 一、移动构造函数(Move Constructor) 1.1 移动构造函数是什么?移动构造函数是一个特殊的构造函数,它能够从一个右值引用(rvalue refe... @TOC 前言在C++11标准中引入了移动语义的概念,通过移动构造函数和移动赋值操作符,我们可以更高效地管理对象的资源。本文将以通俗易懂的方式详细解释移动构造函数和移动赋值操作符的概念,并通过生动的比喻帮助读者更好地理解这两个概念。 一、移动构造函数(Move Constructor) 1.1 移动构造函数是什么?移动构造函数是一个特殊的构造函数,它能够从一个右值引用(rvalue refe...
- @[TOC]1. 泛型编程首先我们来思考一个问题:如何实现一个通用的交换函数呢?即我们想交换两个变量,这两个变量可以是整型,也可以是浮点型,或者其它内置类型,然后它们的交换都可以用一个函数完成。 那在C语言中肯定是没法解决这个问题的,不过我们之前学习过在C++里支持函数重载,所以呢,我们就可以这样搞:void Swap(int& left, int& right){ int temp ... @[TOC]1. 泛型编程首先我们来思考一个问题:如何实现一个通用的交换函数呢?即我们想交换两个变量,这两个变量可以是整型,也可以是浮点型,或者其它内置类型,然后它们的交换都可以用一个函数完成。 那在C语言中肯定是没法解决这个问题的,不过我们之前学习过在C++里支持函数重载,所以呢,我们就可以这样搞:void Swap(int& left, int& right){ int temp ...
- 接着上一篇的内容,我们来继续实现日期类前置- -和后置- -的重载那有了上面的练习,再实现前置- -和后置- -不是soeasy嘛。前置- -:Date& Date::operator--(){ *this -= 1; return *this;}先- -,后使用,返回- -之后的值。后置- -:Date Date::operator--(int){ Date tmp(*t... 接着上一篇的内容,我们来继续实现日期类前置- -和后置- -的重载那有了上面的练习,再实现前置- -和后置- -不是soeasy嘛。前置- -:Date& Date::operator--(){ *this -= 1; return *this;}先- -,后使用,返回- -之后的值。后置- -:Date Date::operator--(int){ Date tmp(*t...
- 赋值运算符重载接下来我们要来学习赋值运算符重载,那赋值运算符重载呢是属于运算符重载的,所以在学习之前,我们要先来了解一下C++的运算符重载。5.1 运算符重载我们还来看上面实现过的那个日期Date类:class Date{public: //构造函数 Date(int year = 1, int month = 1, int day = 1) { _year ... 赋值运算符重载接下来我们要来学习赋值运算符重载,那赋值运算符重载呢是属于运算符重载的,所以在学习之前,我们要先来了解一下C++的运算符重载。5.1 运算符重载我们还来看上面实现过的那个日期Date类:class Date{public: //构造函数 Date(int year = 1, int month = 1, int day = 1) { _year ...
- 引用6.1 引用的概念那C++的引用又是什么东西呢?引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,一个变量若存在引用,则它和它引用的变量共用同一块内存空间。比如:武松,别名有武二郎,天伤星,行者等。那如何定义一个变量的引用呢?语法:类型& 引用变量名(对象名) = 引用实体;举个栗子:int main(){ int a = 5; int&... 引用6.1 引用的概念那C++的引用又是什么东西呢?引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,一个变量若存在引用,则它和它引用的变量共用同一块内存空间。比如:武松,别名有武二郎,天伤星,行者等。那如何定义一个变量的引用呢?语法:类型& 引用变量名(对象名) = 引用实体;举个栗子:int main(){ int a = 5; int&...
- python是一种面向对象的编程语言,面向对象编程(Object-Oriented Programming,OOP)是一种编程思想,其核心概念是“对象”。对象是指一个具有特定属性和行为的实体,而面向对象编程就是通过对这些实体进行抽象、分类、封装和继承等操作,来实现程序的结构和逻辑。在python中,我们可以通过定义类、创建实例和调用方法等方式,来实现面向对象编程的思想,从而编写出更加灵活、可... python是一种面向对象的编程语言,面向对象编程(Object-Oriented Programming,OOP)是一种编程思想,其核心概念是“对象”。对象是指一个具有特定属性和行为的实体,而面向对象编程就是通过对这些实体进行抽象、分类、封装和继承等操作,来实现程序的结构和逻辑。在python中,我们可以通过定义类、创建实例和调用方法等方式,来实现面向对象编程的思想,从而编写出更加灵活、可...
- 目录1. 面向过程和面向对象2. 类的引入3. 类的定义 4. 类的访问限定符和封装4.1 类的访问限定符4.2 封装 5. 类的作用域 6. 类的实例化7. 类对象模型7.1 类对象的存储方式7.2 类的大小7.2.1 空类的大小 7.2.2 结构体内存对齐规则8. this关键字深入讲解 8.1 this指针的引出 8.2 this指针的特性 9.空指针调用成员函数的问题1. 面向过程... 目录1. 面向过程和面向对象2. 类的引入3. 类的定义 4. 类的访问限定符和封装4.1 类的访问限定符4.2 封装 5. 类的作用域 6. 类的实例化7. 类对象模型7.1 类对象的存储方式7.2 类的大小7.2.1 空类的大小 7.2.2 结构体内存对齐规则8. this关键字深入讲解 8.1 this指针的引出 8.2 this指针的特性 9.空指针调用成员函数的问题1. 面向过程...
- 目录1. 缺省参数(默认实参)1.1 全缺省1.2 半缺省1.3 含有缺省参数的函数的声明和定义2. 函数重载2.1 函数重载的判定2.2 函数重载的原理——函数名修饰规则1. 缺省参数(默认实参) 有些函数在定义的时候,我们会给形参列表赋予一个初始值,这个初始值我们称之为缺省参数或者默认实参。而我们在调用含有缺省参数的函数时我们可以省略该实参也可以不省略,如果省略就会默认... 目录1. 缺省参数(默认实参)1.1 全缺省1.2 半缺省1.3 含有缺省参数的函数的声明和定义2. 函数重载2.1 函数重载的判定2.2 函数重载的原理——函数名修饰规则1. 缺省参数(默认实参) 有些函数在定义的时候,我们会给形参列表赋予一个初始值,这个初始值我们称之为缺省参数或者默认实参。而我们在调用含有缺省参数的函数时我们可以省略该实参也可以不省略,如果省略就会默认...
- 目录1. 命名空间1.1 定义命名空间1.2 ::域作用限定符 1.3 using指令2. 初识输入输出2.1 流写入 <<2.2 流提取 >>注:无论是<<还是>>都可以自动识别类型,因为在标准库中定义了不同版本的输入输出运算符来处理这些不同类型的运算对象(可以理解为运算符重载,关于运算符重载会在后续给大家介绍)1. 命名空间 在我们使用c语言来做一个大一些的项目中,如果在... 目录1. 命名空间1.1 定义命名空间1.2 ::域作用限定符 1.3 using指令2. 初识输入输出2.1 流写入 <<2.2 流提取 >>注:无论是<<还是>>都可以自动识别类型,因为在标准库中定义了不同版本的输入输出运算符来处理这些不同类型的运算对象(可以理解为运算符重载,关于运算符重载会在后续给大家介绍)1. 命名空间 在我们使用c语言来做一个大一些的项目中,如果在...
- 4. 数组参数、指针参数在写代码的时候难免要把【数组】或者【指针】传给函数,那函数的参数该如何设计呢?4.1 一维数组传参比如,有这样一个一维数组:int arr[10];//一维整型数组int* arr2[20];//一维整型指针数组我们把它们作为参数传给两个函数:test(arr);test2(arr2);那现在函数test和test2的参数应该如何设计呢?1. 先来看函数test(接收... 4. 数组参数、指针参数在写代码的时候难免要把【数组】或者【指针】传给函数,那函数的参数该如何设计呢?4.1 一维数组传参比如,有这样一个一维数组:int arr[10];//一维整型数组int* arr2[20];//一维整型指针数组我们把它们作为参数传给两个函数:test(arr);test2(arr2);那现在函数test和test2的参数应该如何设计呢?1. 先来看函数test(接收...
- 我们已经知道了如何调用一个函数,如何传参(分为实参和形参),知道了形参实例化之后是实参的一份临时拷贝。但是,函数的调用又分为两种方式,传值调用和传址调用,接下来我们就一起来学习一下什么是传值调用,什么是传址调用!!!一.传值调用什么是传值调用呢?顾名思义,传值调用就是直接将实参的值传递给形参。这样形参和实参的值是一样的,但是函数的形参和实参分别占有不同的内存块,实参是一个独立的个体,形参也是... 我们已经知道了如何调用一个函数,如何传参(分为实参和形参),知道了形参实例化之后是实参的一份临时拷贝。但是,函数的调用又分为两种方式,传值调用和传址调用,接下来我们就一起来学习一下什么是传值调用,什么是传址调用!!!一.传值调用什么是传值调用呢?顾名思义,传值调用就是直接将实参的值传递给形参。这样形参和实参的值是一样的,但是函数的形参和实参分别占有不同的内存块,实参是一个独立的个体,形参也是...
- 这篇文章我们一起学习一下函数的参数,函数的参数分为实参和形参。一.什么是实际参数(实参)首先我们来学习实参,什么是实参呢?实际参数简称“实参”。在调用有参函数时,函数名后面括号中的参数称为“实参”,是我们真实传给函数的参数,实参可以是:常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。下面我们写个代码来帮助大家理解:#incl... 这篇文章我们一起学习一下函数的参数,函数的参数分为实参和形参。一.什么是实际参数(实参)首先我们来学习实参,什么是实参呢?实际参数简称“实参”。在调用有参函数时,函数名后面括号中的参数称为“实参”,是我们真实传给函数的参数,实参可以是:常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。下面我们写个代码来帮助大家理解:#incl...
- 前言前面的几篇文章我们介绍了字符串的基本概念和用法,同时还介绍了字符串的输出和格式化输出以及PHP中字符串的比较等操作函数,本文接着介绍字符串的其它常用的格式化相关的函数,字符串格式化就是将字符串处理为某种特定格式.通常用户从表单中提交给服务器的数据都是字符串的形式,可以说对字符串的处理是实际日常开发中打交道最多的.为了达到期望的输出效果,就需要按照一定的格式来处理这些字符串后再去使用.我们... 前言前面的几篇文章我们介绍了字符串的基本概念和用法,同时还介绍了字符串的输出和格式化输出以及PHP中字符串的比较等操作函数,本文接着介绍字符串的其它常用的格式化相关的函数,字符串格式化就是将字符串处理为某种特定格式.通常用户从表单中提交给服务器的数据都是字符串的形式,可以说对字符串的处理是实际日常开发中打交道最多的.为了达到期望的输出效果,就需要按照一定的格式来处理这些字符串后再去使用.我们...
上滑加载中
推荐直播
-
华为云AI入门课:AI发展趋势与华为愿景
2024/11/18 周一 18:20-20:20
Alex 华为云学堂技术讲师
本期直播旨在帮助开发者熟悉理解AI技术概念,AI发展趋势,AI实用化前景,了解熟悉未来主要技术栈,当前发展瓶颈等行业化知识。帮助开发者在AI领域快速构建知识体系,构建职业竞争力。
去报名 -
华为云软件开发生产线(CodeArts)10月新特性解读
2024/11/19 周二 19:00-20:00
苏柏亚培 华为云高级产品经理
不知道产品的最新特性?没法和产品团队建立直接的沟通?本期直播产品经理将为您解读华为云软件开发生产线10月发布的新特性,并在直播过程中为您答疑解惑。
去报名
热门标签