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

网站建设方案书制作流程django做的购物网站

网站建设方案书制作流程,django做的购物网站,彩页设计报价,开发一个公司官网一般多少钱目录 1.引用的概念 2.引用的性质 3.常量引用 4.使用场景 1.作参数 2.作返回值 5.传值与传引用的效率比较 6.值和引用作为返回值的性能比较 7.引用与指针 指针与引用的不同点 要说C语言中哪个知识点最难学难懂#xff0c;大部分人可能和我一样的答案——指针。C既然… 目录 1.引用的概念 2.引用的性质 3.常量引用 4.使用场景 1.作参数 2.作返回值 5.传值与传引用的效率比较  6.值和引用作为返回值的性能比较  7.引用与指针 指针与引用的不同点 要说C语言中哪个知识点最难学难懂大部分人可能和我一样的答案——指针。C既然是C语言的豪华升级版肯定要优化这一问题。不过指针虽然难但是不得不说它确实牛*呀指针使C语言变得更加灵活更加万能可以说指针是C/C的精髓因此取缔指针是万万不能的所以C的祖师爷引进了引用的概念。 1.引用的概念 引用给已经存在的变量取个别名编译器不会为引用变量开辟新的内存空间它和引用的变量共用同一块内存空间 例如小明的小名叫作明明不管是“明明”还是“小明”都指的是同一个人 格式类型 引用变量名 被引用的实体 //例如 ra 为 a 的引用 int a 0; int ra a; 比较一下两个变量的地址是否相同 //比较二者的地址 cout a endl; cout ra endl; 2.引用的性质 1.引用变量的类型与引用实体的类型要相同 int a 0; int ra a;char ch a; char rch ch; 2.引用在定义时必须初始化 int a 0; int ra a; //int ra; //错误的写法 3.一个变量可以有多个引用 int a 0; int b a; int c a; //... 4.引用变量只能引用一个实体。 int a 0; int b 0;int ra a; ra b; //不能再引用其他变量 //对比指针 int* pa a; pa b; 3.常量引用 引用常量时记得用 const 修饰因为指针、引用在赋值或初始化时权限可以缩小不能放大。 //1. const int a 0; //int ra a; //编译时会报错a为常量//权限放大 const int ra a; //权限保持//int b 10; //错误写法10为常量//权限放大int c 0; const int rc c; //权限缩小//2. int Count() {int a 0;return a 1; }int main() {//int ret Count(); //编译错误Count 返回值为常量const int ret Count();return 0; }//3. int a 0; //double b a; //类型错误 //double b (double)a; //编译错误类型转换时会产生临时变量 const double b (double)a; //证明产生的临时变量具有常量性质 4.使用场景 目前看来引用好像并没有什么用接下来看一下引用经常用到的场景。 1.作参数 //形参的改变会影响实参因为形参为实参的别名 void Swap(int a, int b) {int tmp a;a b;b tmp; }//对比指针 void Swap(int* a, int* b) {int tmp *a;*a *b;*b tmp; } //顺序表 typedef struct SeqList {int* a;int size;int capacity; }SL;void SLPushBack(SL* ps, int data);//C语言中void SLpushBack(SL rs, int data);//C中 //单链表 typedef struct Node {int data;struct Node* next;}Node,*PNode;void SLTPushBack(Node** pphead, int data);//C语言中void SLTPushBack(Node* phead, int data);//C中 void SLTPushBack(PNode phead, int data);//C中 2.作返回值 引用作返回值时如果函数返回时出了函数作用域如果返回对象还在(还没还给系统)则可以使用引用返回如果已经还给系统了则必须使用传值返回。 int Count() {static int n 0;//出了作用域并未销毁可用引用返回n;return n; } int Add(int a, int b) {int c a b;//c出了作用域会被销毁引用返回不可用return c; }int main() {int ret Add(1, 2);Add(3, 4);cout Add(1, 2) is : ret endl;//看似结果为3实则不然return 0; } 引用作函数返回值时调用函数时可修改返回对象 #includeassert.h #define N 10typedef struct Array {int a[N];int size N; }Array;int Test(Array a, int i) {assert(i N);return a.a[i]; }int main() {Array a;for (int i 0; i N; i){Test(a, i) i * 10;}for (int i 0; i N; i){cout Test(a, i) ;}cout endl;return 0; } 5.传值与传引用的效率比较  以值作为参数或者返回值类型在传参和返回期间函数不会直接传递实参或者将变量本身直接返回而是传递实参或者返回变量的一份临时的拷贝因此用值作为参数或者返回值类型效率是非常低下的尤其是当参数或者返回值类型非常大时效率就更低。 //一组测试代码 #include time.h struct A { int a[10000]; }; void TestFunc1(A a) {} void TestFunc2(A a) {} void TestRefAndValue() {A a;// 以值作为函数参数size_t begin1 clock();for (size_t i 0; i 10000; i)TestFunc1(a);size_t end1 clock();// 以引用作为函数参数size_t begin2 clock();for (size_t i 0; i 10000; i)TestFunc2(a);size_t end2 clock();// 分别计算两个函数运行结束后的时间cout TestFunc1(A)-time: end1 - begin1 endl;cout TestFunc2(A)-time: end2 - begin2 endl; }int main() {TestRefAndValue();return 0; } 6.值和引用作为返回值的性能比较  //一组测试代码 #include time.h struct A { int a[10000]; };A a; // 值返回 A TestFunc1() { return a; } // 引用返回 A TestFunc2() { return a; } void TestReturnByRefOrValue() {// 以值作为函数的返回值类型size_t begin1 clock();for (size_t i 0; i 100000; i)TestFunc1();size_t end1 clock();// 以引用作为函数的返回值类型size_t begin2 clock();for (size_t i 0; i 100000; i)TestFunc2();size_t end2 clock();// 计算两个函数运算完成之后的时间cout TestFunc1 time: end1 - begin1 endl;cout TestFunc2 time: end2 - begin2 endl; } int main() {TestReturnByRefOrValue();return 0; } 7.引用与指针 引用与指针的用法及原理在我们使用者看来是不相同的引用是给变量取别名指针是指向变量的地址但是其实引用的底层实现就是以指针的方式实现的。例如 int main() {int a 10;int ra a;ra 20;int* pa a;*pa 20;return 0; } 对比一下指针与引用的汇编代码发现二者完全相同。 那么既然底层实现相同我们是不是就不用区别引用和指针了呢当然不是底层实现相同可不关咱们使用者什么事在使用时我们依旧要注意二者的区别。 指针与引用的不同点 1. 引用概念上定义一个变量的别名指针存储一个变量地址 2. 引用在定义时必须初始化指针没有要求 3. 引用在初始化时引用一个实体后就不能再引用其他实体而指针可以在任何时候指向任何一个同类型实体 4. 没有 NULL 引用但有 NULL 指针 5. 在 sizeof 中含义不同引用结果为引用类型的大小但指针始终是地址空间所占字节个数(32位平台下占4个字节) 6. 引用自加即引用的实体增加1指针自加即指针向后偏移一个类型的大小 7. 有多级指针但是没有多级引用 8. 访问实体方式不同指针需要显式解引用引用编译器自己处理 9. 引用比指针使用起来相对更安全。
http://www.hkea.cn/news/14411763/

相关文章:

  • 江苏专业的网站建设微信小程序公众号开发
  • 建设学院网站wordpress ark 破解
  • 做宣传网站需要多少钱郑州网站建设哪家好怎么样
  • 珠海集团网站建设报价亚马逊雨林大火
  • 有效果的网站排名wordpress 首页尾页
  • 电子商务网站建设实训报告网站首页置顶是怎么做
  • 怎样做自己的的社交网站国家工商局网站官网
  • 天津城市建设网站电子口岸网站做资料库
  • 网站流量少怎么做做网站专题页的字大小是多少钱
  • 找人做网站一套多少钱wordpress php允许上传文件大小
  • 微信公众平台 网站开发企业做网站能赚钱么
  • 遂宁建设机械网站wordpress 技术 主题
  • 网站建设布局怎么搭建自己的网站卖货
  • 网站建设分工方案石家庄网页设计培训班
  • 设计好的建设网站第一次做网站没头绪
  • android网站客户端开发牛商网股票代码
  • 瑞幸咖啡网站建设方案重庆vr制作
  • 长沙建设企业网站苏州企业网站建站
  • iis 没有右键网站属性怎么找拉新推广平台
  • 网站建设餐饮wap浏览器在线
  • 个性定制网站个人做电影网站违法吗
  • 网站架构设计师有哪些学校可以报考电子工程王牌专业
  • 苗木网站什么做莱芜都市网征婚
  • 企业网站程序源码建设部网站2015年第158号
  • 河南做网站的费用wordpress 重置插件
  • 上网建立网站布置北京校园文化设计公司
  • 做地税电子签章的网站广汉做网站
  • 美丽乡村 村级网站建设广州 网站优化
  • 网站哪个好用图片类网站建设
  • 网站建设先做后付费问题不大工作室 网站