当前位置: 首页 > news >正文

有没有专门交人做美食的视频网站wordpress经典博客主题

有没有专门交人做美食的视频网站,wordpress经典博客主题,国外网站建设,案例一、程序内存分区1、代码区:存放程序的机器指令,即编译后的二进制代码。通常为只读,防止程序意外修改自身指令,且可能被多个进程共享,以节省内存空间。2、全局/静态存储区:已初始化数据段:用于存…

一、程序内存分区

1、代码区:

        存放程序的机器指令,即编译后的二进制代码。通常为只读,防止程序意外修改自身指令,且可能被多个进程共享,以节省内存空间。

2、全局/静态存储区

        已初始化数据段:用于存放程序中明确被初始化的全局变量、静态变量以及常量数据等。这些数据在程序的整个运行期间都存在,并且可以被多个函数访问。

在定义变量时,加上static可做为静态变量,存放于全局

3、BSS 段(未初始化数据段):

        主要存放全局未初始化变量和未初始化静态变量。该区域的数据在程序开始执行之前被内核初始化为0或者空(NULL)。

4、堆区:

        用于动态内存分配,由程序员手动申请和释放。通过 malloc、calloc 等函数进行分配内存,使用完毕后需手动调用 free 函数释放,否则可能导致内存泄漏。堆区的大小不固定,可动态扩张或缩减。

堆内存仅在程序运行时分配

也就是说在堆区的数据,影响只影响该代码的运行速度与使用,不会对电脑造成影响。

可以用new定义局部变量,让其存放堆区,由程序员决定生死,而非编辑器来管理。

new来定义返回的是该数据类型的指针

int *p =new int(10);定义一个数

int *arr =new int[10];定义一个数组

delete  *p释放一个数

delete []  arr释放一个数组

delete  来释放堆区的数据

5、栈区:

        由编译器自动管理,主要用于存放函数调用时的参数、局部变量以及函数返回地址等。遵循后进先出的原则,每次函数调用时会在栈上分配一块内存区域,函数执行完毕后自动释放该区域的内存。栈的大小有限,若递归调用过深或局部变量过多,可能会导致栈溢出。

        如果运用完函数后就会释放所定义局部变量,也就是说,对于在函数中的局部变量,在使用一次释放,如果用指针由其地址运用解引用,写不出,除非再次调用该函数来生成该变量。

6、常量区:

        存放字符串字面常量和其他只读常量。一般位于只读数据段,防止程序修改。

二、引用(变量的引用就是变量的别名,因此引用又称别名

1、引用的基本语法:

        数据类型 &别名=原名  

eg:int a= 10; int &b=a;

引用必须初始化:就必须要写其等于什么

一旦初始化,则不能改变:不能再次将该引用的变量作为另一个数的别名

2、引用做函数参数

        在函数接收时直接初始化引用,直接对初始化别名进行操作

void hanshu(int &a ,int &b){}int main(){int a,b;hanshu(a,b);}

3、引用函数返回值不能局部变量,若加上static变为全局使

4、函数的返回值是引用,则函数调用可作为左值

5、引用的本质引用相当于指针

eg:int & ref =a;  相当于  int * const ref =a;

ref =20 相当于  * ref =20;

编译器识别到引用自动转化为指针

6、对于使用const来修饰引用,不允许改变该引用的值,但是它不阻止引用所代表的变量的值。使用后编译器自动改为:

const int & ref =10;

相当于

int temp =10; const int& ref =temp;

这种方法,可以来修饰形参(也就是函数中定义的引用值),这样用常量引用避免误操作修改实参,主函数中的值。

7、不允许建立void类型的引用

8、不能建立引用的数组

9、不能建立引用的引用。不能建立指向引用的指针。引用本身不是一种数据类型,所以没有引用的引用,也没有引用的指针。

10、可以将引用的地址赋值给一个指针,此时指针指向的是原来的变量。

三、函数的其他特点

1、函数默认参数

(1)如果我们传入数据,就用传入的数据,若无,则使用默认值

Eg :int func(int a,int b=20,int c=30){return a+b+c;}

(2)若某个位置已默认参数么这个位置往后从左到右必须要默认

Eg:上面那个b已经默认值为20,那c一定要有默认值,否则报错。

(3)函数声明与函数实现只有一个默认参数

2、占位参数

占位参数:  返回值类型 函数名 (数据类型){}

占位参数也可有默认参数

Eg:void func(int a,int )
{ cout << “ok” << end1;}

3、函数重载

(1)函数重载的满足条件:

  1. 个作用域下(如全局作用域下)
  2. 函数名相同
  3. 函数参数类型不同,或者个数不同,或者顺序不同
Eg:void func() {}void func (int a) {}void func (double  a) {}void func (double  a,int b) {}void func (int a,double b) {}

这些都为函数重载

注:函数的返回值不能作为函数重载的条件 

加上const也可以进行函数重载,不过传入的为常数

当函数重载中有默认参数也不行

总的来说:只要判断为两个函数,在调用的时候不能同时进入,就可以为函数重载

结语

还在学习中,如有错误还请大佬们指出,有问题可相互交流

http://www.dtcms.com/a/536710.html

相关文章:

  • 2025年mathorcup大数据竞赛B题【物流理赔风险识别及服务升级问题】原创论文分享(含完整python代码)
  • 当AI把薯片当手枪:物联网技术如何终结识别乌龙?
  • 51CTO_开源的密码自助平台Self Service Password
  • DB-GPT 0.7.4 版本更新|开源蚂蚁集团Text2SQL数据集:Falcon、支持GLM-4.5大模型
  • 网站基本维护安庆建设网站
  • 【Android Audio】安卓音频中Surround mode切换流程
  • 2026版基于python的旅游景点推荐系统
  • 直白理解 NTRU 公钥加密系统
  • 如何在物联网产品应用串行psram
  • 1.2、实战准备:AI安全研究环境搭建与工具链
  • 鞋材加工东莞网站建设山西网页制作
  • 网站建设基本流程包括哪几个步骤工装设计方案网站
  • 苏州手机网站建设报价logo设计网站平台
  • 数据驱动AI落地:交通运维与仓储管理的智能化破局方法论与技术实践
  • 多功能雷达行为辨识与预测技术研究
  • Rust面试题及详细答案120道(115-120)-- 对比其他语言
  • LeetCode算法学习之移除元素
  • allWebPlugin中间件IE特别版发布
  • 前端八股之HTTP
  • rust笔记
  • 西安招聘网站建设多多鱼网页设计代码
  • 中国团队开发出有效的钙钛矿电池缓冲液
  • 使用mybatis-plus,实现将排序时,字段值为NULL的数据排在最后
  • Websocket两台服务器之间的通信
  • 网站技能培训班有哪些做网站用什么软件ps字体
  • 摩根大通将支持比特币和以太坊作为抵押品
  • 绿园区住房和城乡建设局网站c2c平台是什么意思
  • Web前端开发:用JavaScript阻止表单提交
  • 从 TCP 粘包到线程池:一起了解用 QRunnable 重构 Qt 高并发网络通信架构
  • Blender入门学习07 - 形态键