- 引用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中字符串的比较等操作函数,本文接着介绍字符串的其它常用的格式化相关的函数,字符串格式化就是将字符串处理为某种特定格式.通常用户从表单中提交给服务器的数据都是字符串的形式,可以说对字符串的处理是实际日常开发中打交道最多的.为了达到期望的输出效果,就需要按照一定的格式来处理这些字符串后再去使用.我们...
- 下面这段代码来自 Spartacus 项目的 navigation-entry-item.reducer.ts 实现。import { NodeItem } from '../../model/node-item.model';import { CmsActions } from '../actions/index';export const initialState: NodeItem |... 下面这段代码来自 Spartacus 项目的 navigation-entry-item.reducer.ts 实现。import { NodeItem } from '../../model/node-item.model';import { CmsActions } from '../actions/index';export const initialState: NodeItem |...
- 前言众所周知,PHP的面向对象和Java一样,类只支持单继承,即是一个类只能继承自一个父类,不能存在多个父类,这也很好理解,就像现实的人类社会一样,儿子继承自你的父亲,父亲继承自祖父。。。,但是在实际开发中很多时候我们想像c++一样使用多重继承。奈何PHP只能使用单继承,在Trait出现之前,在PHP中要想实现多继承,只能使用接口,只有接口是可以实现多继承的,一个类可实现多个接口,而且接口和... 前言众所周知,PHP的面向对象和Java一样,类只支持单继承,即是一个类只能继承自一个父类,不能存在多个父类,这也很好理解,就像现实的人类社会一样,儿子继承自你的父亲,父亲继承自祖父。。。,但是在实际开发中很多时候我们想像c++一样使用多重继承。奈何PHP只能使用单继承,在Trait出现之前,在PHP中要想实现多继承,只能使用接口,只有接口是可以实现多继承的,一个类可实现多个接口,而且接口和...
- 前言上一篇文章《【web 开发】PHP多态性详解及其应用》中我们详细了解了PHP中多态的相关概念和特点,在文章中我们介绍了多态存在的三个必要条件:继承、重写、父类引用指向子类对象。而且我们上一文章中也使用了详细的例子来说明多态的具体声明方式和使用方法。但是在具体实例代码中我们并没有体现出现父类引用指向子类对象的这个使用方式。我们仅仅是利用接口的实现来实现重写这个特点,所以本文接着详细介绍有关... 前言上一篇文章《【web 开发】PHP多态性详解及其应用》中我们详细了解了PHP中多态的相关概念和特点,在文章中我们介绍了多态存在的三个必要条件:继承、重写、父类引用指向子类对象。而且我们上一文章中也使用了详细的例子来说明多态的具体声明方式和使用方法。但是在具体实例代码中我们并没有体现出现父类引用指向子类对象的这个使用方式。我们仅仅是利用接口的实现来实现重写这个特点,所以本文接着详细介绍有关...
- @TOC 一、构建智能指针的原因众所周知,C++是没有垃圾回收的,就会导致以下问题:1、导致动态申请堆空间,用完后不归还。2、会导致程序的内存泄露,进而影响整个程序,甚至可能是整个电脑3、指针无法控制所指堆空间的生命周期我们就需要设计一个类SmartPointer他的功能如下:指针生命周期结束时主动释放堆空间。一片堆空间最多由一个指针标识。原因:因为我们要在析构函数中释放堆空间,如果2个智能... @TOC 一、构建智能指针的原因众所周知,C++是没有垃圾回收的,就会导致以下问题:1、导致动态申请堆空间,用完后不归还。2、会导致程序的内存泄露,进而影响整个程序,甚至可能是整个电脑3、指针无法控制所指堆空间的生命周期我们就需要设计一个类SmartPointer他的功能如下:指针生命周期结束时主动释放堆空间。一片堆空间最多由一个指针标识。原因:因为我们要在析构函数中释放堆空间,如果2个智能...
- @TOC 前言刷题之——Leetcode道简单题,通过这4道简单题,C/C++有新的理解,提高你的编程能力。leetcode地址 一、寻找正序数组的中位数 中位数的概念中位数是一组数据中的一个特殊值,可以将这组数据划分为两个部分,其中一部分的数值比中位数小,另一部分的数值比中位数大。换句话说,中位数将数据集合分成了两部分,使得左右两边的数据量相等或差距很小。在一个有序的数据集合中,中位数就是... @TOC 前言刷题之——Leetcode道简单题,通过这4道简单题,C/C++有新的理解,提高你的编程能力。leetcode地址 一、寻找正序数组的中位数 中位数的概念中位数是一组数据中的一个特殊值,可以将这组数据划分为两个部分,其中一部分的数值比中位数小,另一部分的数值比中位数大。换句话说,中位数将数据集合分成了两部分,使得左右两边的数据量相等或差距很小。在一个有序的数据集合中,中位数就是...
- #和##是宏定义中常用的两个预处理运算符其中#用于记号串化,##用于记号黏结,下面分别介绍它们。1. 记号串化(#)记号串化可以将函数式宏定义中的实参转换为字符串。在函数式宏定义中,如果替换列表中有“#”,则其后的预处理记号必须是当前宏的形参。在预处理期间,“#”连同它后面的形参一起被实参取代。例如#include <stdio.h>#define PSQR(x) printf("The s... #和##是宏定义中常用的两个预处理运算符其中#用于记号串化,##用于记号黏结,下面分别介绍它们。1. 记号串化(#)记号串化可以将函数式宏定义中的实参转换为字符串。在函数式宏定义中,如果替换列表中有“#”,则其后的预处理记号必须是当前宏的形参。在预处理期间,“#”连同它后面的形参一起被实参取代。例如#include <stdio.h>#define PSQR(x) printf("The s...
上滑加载中
推荐直播
-
探秘仓颉编程语言:华为开发者空间的创新利器
2025/02/22 周六 15:00-16:30
华为云讲师团
本期直播将与您一起探秘颉编程语言上线华为开发者空间后,显著提升开发效率,在智能化开发支持、全场景跨平台适配能力、工具链与生态完备性、语言简洁与高性能特性等方面展现出的独特优势。直播看点: 1.java转仓颉的小工具 2.仓颉动画三方库lottie 3.开发者空间介绍及如何在空间用仓颉编程语言开发
即将直播 -
大模型Prompt工程深度实践
2025/02/24 周一 16:00-17:30
盖伦 华为云学堂技术讲师
如何让大模型精准理解开发需求并生成可靠输出?本期直播聚焦大模型Prompt工程核心技术:理解大模型推理基础原理,关键采样参数定义,提示词撰写关键策略及Prompt工程技巧分享。
去报名 -
华为云 x DeepSeek:AI驱动云上应用创新
2025/02/26 周三 16:00-18:00
华为云 AI专家大咖团
在 AI 技术飞速发展之际,DeepSeek 备受关注。它凭借哪些技术与理念脱颖而出?华为云与 DeepSeek 合作,将如何重塑产品与应用模式,助力企业数字化转型?在华为开发者空间,怎样高效部署 DeepSeek,搭建专属服务器?基于华为云平台,又该如何挖掘 DeepSeek 潜力,实现智能化升级?本期直播围绕DeepSeek在云上的应用案例,与DTSE布道师们一起探讨如何利用AI 驱动云上应用创新。
去报名
热门标签