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

做网站要不要交税手机网站怎么制作内容

做网站要不要交税,手机网站怎么制作内容,wordpress 外链裁剪,互联网品牌营销服务公司引用就是某一变量#xff08;目标#xff09;的一个别名#xff0c;对引用的操作与对变量直接操作完全一样。 引用的声明方法#xff1a;类型标识符 引用名目标变量名#xff1b; 【例1】#xff1a;int a; int raa; //定义引用ra,它是变量a的引用#xff0… 引用就是某一变量目标的一个别名对引用的操作与对变量直接操作完全一样。 引用的声明方法类型标识符 引用名目标变量名 【例1】int a; int raa; //定义引用ra,它是变量a的引用即别名 说明 1在此不是求地址运算而是起标识作用。 2类型标识符是指目标变量的类型。 3声明引用时必须同时对其进行初始化。 4引用声明完毕后相当于目标变量名有两个名称即该目标原名称和引用名且不能再把该引用名作为其他变量名的别名。 ra1; 等价于 a1; 5声明一个引用不是新定义了一个变量它只表示该引用名是目标变量名的一个别名它本身不是一种数据类型因此引用本身不占存储单元系统也不给引用分配存储单元。故对引用求地址就是对目标变量求地址。ra与a相等。 6不能建立数组的引用。因为数组是一个由若干个元素所组成的集合所以无法建立一个数组的别名。 用reference是c的初学者比较容易迷惑的概念。下面我们比较详细地讨论引用。 一、引用的概念 引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似只是用代替了*。 例如 Point pt1(10,10); Point pt2pt1; 定义了pt2为pt1的引用。通过这样的定义pt1和pt2表示同一对象。 需要特别强调的是引用并不产生对象的副本仅仅是对象的同义词。因此当下面的语句执行后 pt1.offset22 pt1和pt2都具有1212的值。 引用必须在定义时马上被初始化因为它必须是某个东西的同义词。你不能先定义一个引用后才 初始化它。例如下面语句是非法的 Point pt3 pt3pt1 那么既然引用只是某个东西的同义词它有什么用途呢 下面讨论引用的两个主要用途作为函数参数以及从函数中返回左值。 二、引用参数 1、传递可变参数 传统的c中函数在调用时参数是通过值来传递的这就是说函数的参数不具备返回值的能力。 所以在传统的c中如果需要函数的参数具有返回值的能力往往是通过指针来实现的。比如实现 两整数变量值交换的c程序如下 void swapint(int *a,int *b) { int temp; temp*a; a*b; *btemp; } 使用引用机制后以上程序的c版本为 void swapint(int a,int b) { int temp; tempa; ab; btemp; } 调用该函数的c方法为swapintx,y); c自动把x,y的地址作为参数传递给swapint函数。 2、给函数传递大型对象 当大型对象被传递给函数时使用引用参数可使参数传递效率得到提高因为引用并不产生对象的 副本也就是参数传递时对象无须复制。下面的例子定义了一个有限整数集合的类 const maxCard100; Class Set { int elems[maxCard]; // 集和中的元素maxCard 表示集合中元素个数的最大值。 int card; // 集合中元素的个数。 public: Set () {card0;} //构造函数 friend Set operator * (Set ,Set ) ; //重载运算符号*用于计算集合的交集 用对象作为传值参数 // friend Set operator * (Set ,Set ) 重载运算符号*用于计算集合的交集 用对象的引用作为传值参数 ... } 先考虑集合交集的实现 Set operator *( Set Set1,Set Set2) { Set res; for(int i0;iSet1.card;i) for(int j0;jSet2.card;j) if(Set1.elems[i]Set2.elems[j]) { res.elems[res.card]Set1.elems[i]; break; } return res; } 由于重载运算符不能对指针单独操作我们必须把运算数声明为 Set 类型而不是 Set * 。 每次使用*做交集运算时整个集合都被复制这样效率很低。我们可以用引用来避免这种情况。 Set operator *( Set Set1,Set Set2) { Set res; for(int i0;iSet1.card;i) for(int j0;jSet2.card;j) if(Set1.elems[i]Set2.elems[j]) { res.elems[res.card]Set1.elems[i]; break; } return res; } 三、引用返回值 如果一个函数返回了引用那么该函数的调用也可以被赋值。这里有一函数它拥有两个引用参数并返回一个双精度数的引用 double max(double d1,double d2) { return d1d2?d1:d2; } 由于max()函数返回一个对双精度数的引用那么我们就可以用max() 来对其中较大的双精度数加1 max(x,y)1.0; C数组引用 1 .在C中可以定义数组的引用用以解决C中无法解决的“数组降价”问题我们先来看看什么是“数组降价”先看如下代码  … void Test( char array[20] ) {      cout sizeof(array) endl; // 输出 4 } char array[20] { 0 }; cout sizeof(array) endl; // 输出 20Test( array ); …     我们看到对于同样的数组array一个输出4另一个输出20.这是因为void Test char array[20] 中的array被降阶处理了void Test char array[20] 等同于 void Test char array[] 也等同于void Test char* const array 如果你原意它甚至等同于void Test char array[999]     也就是说  void Test( char array[20] ) {      cout sizeof(array) endl;      } 被降成 void Test( char* const array ) {      cout sizeof(array) endl; // 既然是char*当然输出4      }     这样以来我们在函数声明中的数组大小限制是无效的声明 void Test char array[20] 并不能保证一定会接收到一个大小20的数组即任何 char[] 都会被降价为 char* 这样就增加了程序出错的可能性。要解决这样一个问题我们可以用C的数组引用作为参数看以下代码  … void Test( char (array)[20] )//是不是很像 char *p[20] 和 char (*p)[20] 的区别 {      cout sizeof(array) endl; } char array[20] { 0 }; cout sizeof(array) endl; Test( array ); …     这样 Test 函数就只能接收大小为 20 的 char[]看如下代码  … char array1[10] { 0 }; char array2[20] { 0 }; Test(array1);//Error实参不是大小为 10 的 char[]Test(array2);//OK …     在 C 中单纯的用数组的引用可以直接传递数组名因为它将数组的大小已在形参里提供了信息。但是这样一来我们只能固定数组的大小来用这个函数了。用模板加数组的引用可以解决这个问题看如下代码 …t emplate void Test(int (array)[sz]) {     for (int i 0; i sz; i)          cout array[i] endl; }int a[2] { 0 }, b[15] { 0 };Test(a);//OKTest(b);//OK …     只可惜任何事情都不会太完美使用模板后确实可以使同一函数能够处理大小不同的数组了扩大了函数的适用范围。但是这样定义的函数仍然存在着下述缺点     1. 模板最终是要实例化的所以调用多少个不同长度的数组就要产生这个函数的多少份实例代码。而传统方式的函数只有一份实例与函数的调用次数无关。     2. 不能应用于在编译期间数组的大小尚未确定的情况这也使这个模板函数的适用范围受到限制。     3. 这样写的函数显然不能用指针变量作为函数的参数因此不能用这个函数处理动态分配的内存区域。
http://www.sadfv.cn/news/437794/

相关文章:

  • 建设银行理财网站沧州网站运营公司
  • 网站开发的项目内容网站建设套餐是什么
  • 可以免费打开网站的软件下载网站单页做301
  • 房山营销型网站建设网站建设赛车
  • 全国建设注册中心网站wordpress 3.6中文版
  • 网站建设页面页脚怎么设置公司网站建设方案书
  • 松江新城建设集团有限公司网站网站改版声明
  • 制作软件网站confluence和wordpress
  • 免费开源网站系统有哪些如何用wordpress查看搭建的站点
  • 站群类网站开发建设部网站网上大厅
  • 东莞网站排名优化报价介绍家乡的网站设计策划书
  • 支部建设杂志官方网站网站宽度 1000px
  • 电商网站开发工作室如何同步wordpress
  • 天津做淘宝网站企业网站整站
  • 网站制作的重要性小程序设计案例
  • 南京专业的网站设计团队做模板网站推荐乐云seo
  • 会做网站开发 但是不会二次开发美工做图素材网站
  • 网站建设与策划试卷分类网站 php
  • 建设网站类策划书怎样做网站二维码
  • 电商网站设计哪家好网站 无限下拉
  • 饥荒网站这么做WordPress知更鸟主题怎样安装
  • 开发网站的成本如何建设一个文件分享网站
  • 我要建立个人网站wordpress 阿里云视频点播
  • 珠宝公司网站模板做徽标哪个网站素材多
  • 温州科技网站建设网站建设规划书总结怎么写
  • 内蒙古赤峰市建设局网站物流企业网站织梦模板
  • 中小型网站建设方案网站优化长沙
  • html5网站特效wordpress 2万条就卡
  • 企业可以在哪些网站做免费宣传做网站需要到哪些部门登记
  • 做网站单位手机网站开发模板