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

公司申请网站需要哪些材料百度seo和谷歌seo有什么区别

公司申请网站需要哪些材料,百度seo和谷歌seo有什么区别,驻马店做网站建设的公司,Linux做视频网站网速均衡系列文章目录 值传递和引用传递是 C 中两种常见的参数传递方式,它们的主要区别在于函数内部对参数的操作是否会影响原始数据 C值传递和引用传递 系列文章目录1、值传递2、引用传递3 、常量引用传递4、值传递 vs 引用传递总结 1、值传递 值传递会复制传入的参数&…

系列文章目录

值传递和引用传递是 C++ 中两种常见的参数传递方式,它们的主要区别在于函数内部对参数的操作是否会影响原始数据

C++值传递和引用传递

  • 系列文章目录
  • 1、值传递
  • 2、引用传递
  • 3 、常量引用传递
  • 4、值传递 vs 引用传递
  • 总结


1、值传递

值传递会复制传入的参数,函数内部对参数的修改不会影响原始数据

#include <iostream>
#include <vector>
using namespace std;void modify(int a){a = 100; // 修改副本的值cout << "modify函数中: a = " << a << endl;
}int main() {int a=10;cout<< "原始变量a的值为:" <<a <<endl;modify(a);cout<< "调用函数之a的值为:" <<a <<endl;return 0;
}

输出:

原始变量a的值为:10
modify函数中: a = 100
调用函数之a的值为:10

解释:

在 modifyValue 函数中,x 是 a 的副本。
修改 x 不会影响原始变量 a。

2、引用传递

引用传递会直接操作原始数据,函数内部对参数的修改会影响原始数据

#include <iostream>
#include <vector>
using namespace std;void modify(int &a){a = 100; // 修改副本的值cout << "modify函数中: a = " << a << endl;
}int main() {int a=10;cout<< "原始变量a的值为:" <<a <<endl;modify(a);cout<< "调用函数之a的值为:" <<a <<endl;return 0;
}

这里修改的地方只是在modify函数中加了一个&
输出结果:

原始变量a的值为:10
modify函数中: a = 100
调用函数之a的值为:100

解释:

在 modifyReference 函数中,x 是 a 的引用。
修改 x 会直接影响原始变量 a。

3 、常量引用传递

如果你不想用值传递(因为会增加拷贝数据的内存开销),又不想修改原始数据,你使用这个就很合适哦。
常量引用传递既避免了值传递的拷贝开销,又防止函数内部修改原始数据

void modify(const int &a){a = 100; // 修改副本的值 这里直接会编译报错,const修饰的变量无法被修改cout << "modify函数中: a = " << a << endl;
}

const修饰的变量无法被修改。

#include <iostream>
#include <vector>
using namespace std;void modify(const int &a){// a = 100; // 修改副本的值 这里直接会编译报错,const修饰的变量无法被修改cout << "modify函数中: a = " << a << endl;
}int main() {int a=10;cout<< "原始变量a的值为:" <<a <<endl;modify(a);cout<< "调用函数之a的值为:" <<a <<endl;return 0;
}

输出如下:

原始变量a的值为:10
modify函数中: a = 10
调用函数之a的值为:10

解释:

在 printValue 函数中,x 是 a 的常量引用。
函数内部不能修改 x,但可以读取其值。

4、值传递 vs 引用传递

对于复杂数据结构(如 std::vector 或 std::string),值传递会导致整个数据被复制,而引用传递则避免了这种开销。

#include <iostream>
#include <vector>
using namespace std;// 值传递示例
void modifyVectorByValue(vector<int> vec) {vec[0] = 100; // 修改副本cout << "modifyVectorByValue function (值传递): ";for (int x : vec) {cout << x << " ";}cout << endl;
}// 引用传递示例
void modifyVectorByReference(vector<int> &vec) { // 使用引用传递vec[0] = 100; // 修改原始数据cout << "modifyVectorByReference function (引用传递): ";for (int x : vec) {cout << x << " ";}cout << endl;
}int main() {vector<int> vec = {1, 2, 3};cout << "原始数据: ";for (int x : vec) {cout << x << " ";}cout << endl;modifyVectorByValue(vec); // 值传递调用cout << "调用值传递之后: ";for (int x : vec) {cout << x << " ";}cout << endl;modifyVectorByReference(vec); // 引用传递调用cout << "调用引用传递之后: ";for (int x : vec) {cout << x << " ";}cout << endl;return 0;
}

输出如下:

原始数据: 1 2 3 
modifyVectorByValue function (值传递): 100 2 3 
调用值传递之后: 1 2 3 
modifyVectorByReference function (引用传递): 100 2 3 
调用引用传递之后: 100 2 3 

总结

特性值传递引用传递常量引用传递
是否复制数据
是否能修改原始数据
性能较低(需要复制数据)较高(直接操作原始数据)较高(避免复制且不可修改)
使用场景数据简单且不需要修改原始数据需要修改原始数据只需读取数据而不修改
http://www.dtcms.com/wzjs/390530.html

相关文章:

  • 上海网站建设的公司武汉全网营销推广公司
  • 教育直播网站建设经典软文案例200字
  • 技能培训班有哪些进行优化
  • 网站后台管理系统框架seo是做什么的
  • 黄石做企业网站seo网站关键词优化方式
  • 做网站签订合同seo确定关键词
  • 做行业网站广告能赚多少钱深圳优化公司排名
  • wordpress 情侣博客南宁seo推广公司
  • 有哪些网站可以兼职做笔译网站推广的概念
  • 微信开发功能网站快速优化排名方法
  • 大学生怎么做网站优化大师优化项目有
  • 网站美工效果图怎么做海南seo排名优化公司
  • 建设部网标准下载网站seo兼职接单平台
  • 做网站协议书宁波seo在线优化方案公司
  • 西安网站建设品牌公司推荐泰州百度关键词优化
  • 重庆公司网站建设价格网络营销成功的案例及其原因
  • 做外汇需要关注哪几个网站郑州网站优化seo
  • 山东省 安全双体系建设网站爱站长尾词
  • 量个网站一个域名seo技术外包公司
  • 青岛关键词推广seo白山seo
  • 重庆网站开发工资世界杯积分榜排名
  • 梨树县住房和城乡建设局网站网络营销专业的就业方向
  • 网站开发语言更换企业网站优化哪家好
  • 怎样做企业学校网站重庆seo霸屏
  • 大型网站建设哪家快全网热搜关键词排行榜
  • 廊坊网站制作系统游戏代理300元一天
  • 杨浦科技网站建设专业竞价托管哪家好
  • 日本做爰动漫网站怎么做app推广代理
  • 成都小程序开发方案刷移动端seo软件
  • 手机网站模版更换技巧hao123影视