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

好大夫在线网站官网做提眉的医生行业关键词

好大夫在线网站官网做提眉的医生,行业关键词,做网站都要买服务器吗,2345网址导航下载桌面只是为方便学习,不做其他用途,原作者为黑马程序 一、const与指针 const修饰指针有三种情况 const修饰指针 — 常量指针const修饰常量 — 指针常量const即修饰指针,又修饰常量int main() {int a = 10;int b = 10;//const修饰的是指针,指针指向可以改,指针指向的值不可以更…

只是为方便学习,不做其他用途,原作者为黑马程序

一、const与指针

const修饰指针有三种情况

  1. const修饰指针 — 常量指针
  2. const修饰常量 — 指针常量
  3. const即修饰指针,又修饰常量
int main() {int a = 10;int b = 10;//const修饰的是指针,指针指向可以改,指针指向的值不可以更改const int * p1 = &a; p1 = &b; //正确//*p1 = 100;  报错//const修饰的是常量,指针指向不可以改,指针指向的值可以更改int * const p2 = &a;//p2 = &b; //错误*p2 = 100; //正确//const既修饰指针又修饰常量const int * const p3 = &a;//p3 = &b; //错误//*p3 = 100; //错误system("pause");return 0;
}
//技巧:看const右侧紧跟着的是指针还是常量, 是指针就是常量指针,是常量就是指针常量

二、结构体指针

结构体指针可以通过 -> 操作符 来访问结构体中的成员

//结构体定义
struct student
{//成员列表string name;  //姓名int age;      //年龄int score;    //分数
};int main() {struct student stu = { "张三",18,100, };struct student * p = &stu;p->score = 80; //指针通过 -> 操作符可以访问成员cout << "姓名:" << p->name << " 年龄:" << p->age << " 分数:" << p->score << endl;system("pause");return 0;
}//地址传递
void func(student *stu)
{stu->age = 28;cout << "子函数中 姓名:" << stu->name << " 年龄: " << stu->age  << " 分数:" << stu->score << endl;
}main里面:func(&stu);//const使用场景
void printStudent(const student *stu) //加const防止函数体中的误操作
{//stu->age = 100; //操作失败,因为加了const修饰cout << "姓名:" << stu->name << " 年龄:" << stu->age << " 分数:" << stu->score << endl;}

三、.与->区别

c++中 . 和 -> 主要是用法上的不同

1、A.B则A为对象或者结构体;

2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;

四、内存分区

C++程序在执行时,将内存大方向划分为4个区域

  1. 代码区:存放函数体的二进制代码,由操作系统进行管理的
  2. 全局区:存放全局变量和静态变量以及常量
  3. 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等
  4. 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收

C++中主要利用new在堆区开辟内存

堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符 delete

​ 利用new创建的数据,会返回该数据对应的类型的指针

示例:

int* func()//返回int指针的函数
{int* a = new int(10);return a;
}int main() {int *p = func();cout << *p << endl;//利用delete释放堆区数据delete p;//要记得释放!!//cout << *p << endl; //报错,释放的空间不可访问system("pause");return 0;
}

new的释放:

delete p;//p不是数组变量
delete[] p;//p是数组】

栈区的数据由编译器释放,因此函数中的局部变量不能作为地址或者引用返回

//错误示范1:
int * func()
{int a = 10;
//若是用static把局部变量变为静态变量,则可以用
//static int a =10;return &a;
}int main() {int *p = func();cout << *p << endl;system("pause");return 0;
}
//错误示范2:
/返回局部变量引用
int& test01() {int a = 10; //局部变量
//若是用static把局部变量变为静态变量,则可以用
//static int a =10;return a;
}
int main() {//不能返回局部变量的引用int& ref = test01();cout << "ref = " << ref << endl;
}

函数中局部变量能作为值返回

#include <iostream>
using namespace std;int test01() {int a = 10; //局部变量return a;
}
int main() {int ref = test01();cout << "ref = " << ref << endl;
}

五、引用

功能:给变量起别名

语法: 数据类型 &别名 = 原名

int main() {int a = 10;int &b = a;cout << "a = " << a << endl;cout << "b = " << b << endl;b = 100;cout << "a = " << a << endl;cout << "b = " << b << endl;system("pause");return 0;
}
  • 引用必须初始化
  • 引用在初始化后,不可以改变
int main() {int a = 10;int b = 20;//int &c; //错误,引用必须初始化int &c = a; //一旦初始化后,就不可以更改c = b; //这是赋值操作,不是更改引用cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "c = " << c << endl;system("pause");return 0;
}

引用做函数参数,可以简化指针修改实参

//1. 值传递
void mySwap01(int a, int b) {int temp = a;a = b;
http://www.dtcms.com/wzjs/215286.html

相关文章:

  • 动易网站开发搜索引擎优化的要点
  • 世界疫情2023年能结束吗seo收费标准多少
  • 网站规划书包括哪些方面百度关键词搜索引擎
  • 沈阳网站建设企业惠州seo外包服务
  • 怎样建设电影网站怎么做推广
  • 莱芜今日信息招聘平台公司要做seo
  • 免费已备案二级域名网站网络营销策略有哪五种
  • 小学网站asp自己怎么给网站做优化排名
  • 如何做网站大图片十大互联网广告公司
  • 好看的扁平化网站怎么自己创建一个网页
  • 微信公众号做网站关键词歌词打印
  • 怎么做网站的搜索引擎十大免费软文推广平台
  • 江西省网站建设先进表彰常用的搜索引擎
  • 看b站视频软件24小时免费下载推广软文平台
  • 想在网站上放百度广告怎么做最新seo新手教程
  • 搭建影视网站日本站外推广网站
  • 站长工具seo综合查询全面解析网络营销的内涵
  • 开贴纸网站要怎么做的怎么知道自己的域名
  • 西安网站开发哪家好如何让百度搜索排名靠前
  • 帮做动态头像的网站十大免费最亏的免费app
  • 陕西省建设厅执业资格注册中心网站报名系统seo入门基础知识
  • 企业网站开发汇报谷歌广告推广怎么做
  • 广州网站建设模板电商网站前端页面内容编写
  • 如何用代码制作网站百度竞价怎么开户
  • h5开发网站优点整合网络营销公司
  • 佛山做公司网站阿里大数据平台
  • 网站制作方案策划简历个人能接广告联盟吗
  • 什么网站可以做ui小动画手机搜索引擎
  • 网站建设怎么网络营销的重要性
  • 邯郸网站建设fkop惠州seo管理