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

公司申请网站需要哪些材料百度seo优化招聘

公司申请网站需要哪些材料,百度seo优化招聘,长沙长沙建设网站,给公司做网站销售怎样啦系列文章目录 值传递和引用传递是 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/79176.html

相关文章:

  • 网站建设市场调研报告超级外链发布
  • 唐山自助建站模板ip网站查询服务器
  • 广告公司名字免费起名大全seo排名软件哪个好用
  • 做别人一样的网站模板海南百度竞价排名
  • 小榄镇做网站公司win10优化大师官网
  • 网站建设类公司可以拿哪些项目资金免费有效的推广网站
  • 政府采购网门户网站建设上热门最火标题
  • 大连住建委网站网络销售平台
  • 城阳做网站找哪家好网络营销的概念是什么
  • 能联系做仿瓷的网站怎么做网站模板
  • 广州排名seo公司手机优化什么意思
  • 自助手机网站建站软件创建网站的公司
  • 住宅与建设部网站北京知名seo公司精准互联
  • 网络兼职正规网站在家网上做兼职互联网营销模式有哪些
  • 柳州网站建设找哪家好百度客服中心
  • 给公司做网站seo博客教程
  • 上海建筑建材业网站办理大厅淘宝网店的seo主要是什么
  • 天津网站优化建设公司推广宣传文案
  • 电子商务平台有哪些签合同企业网站seo案例
  • 怎么查看网站的安全性seo招聘信息
  • 怎么网站台州seo排名扣费
  • 青岛营销型网站制作google推广费用
  • 一般政府网站用什么做在线数据分析工具
  • 做优惠券网站需要淘宝哪些接口常州网络推广seo
  • 本溪兼职网站建设招聘爱站数据官网
  • 手机网站设计软件做任务赚佣金一单10块
  • 豫建设标文件在哪个网站公布免费二级域名平台
  • 做电影网站会被捉吗重庆网站优化排名推广
  • 关于网站设计的职业网络服务商电话
  • 速拓科技是做网站全网推广成功再收费