首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    容易混淆的const

    (1)可以定义const常量,具有不可变性。   例如:const int Max=100; Max++会产生错误; (2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。   例如: void f(const int i) { …} 编译器就会知道i是一个常量,不允许修改; (3)可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。 还是上面的例子,如果在函数体内修改了i,编译器就会报错;   例如: void f(const int i) { i=10;//error! } (4) 可以节省空间,避免不必要的内存分配。 例如:   #define PI 3.14159 //常量宏   const double Pi=3.14159; //此时并未将Pi放入ROM中 …   double i=Pi; //此时为Pi分配内存,以后不再分配!   double I=Pi; //编译期间进行宏替换,分配内存   double j=Pi; //没有内存分配   double J=PI; //再进行宏替换,又一次分配内存!   const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是像#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干份拷贝。 (5) 提高了效率。   编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。

    01

    期末总结

    一个学期的程序设计让我对程序设计有了一些的了解,学会了一些程序设计方面的知识,有了一些收获。 int, long int ,long long int ,short 定义实数 float 单精度实型 double 双精度实型 long double 长双精度实型 char 字符型 string 字符串(结尾以’\0’结束) 编写程序时头文件必须要有,例#include,若要调用一些函数也要使用其所在的头文件。 例: 将数组中每一个数据都等于零 头文件:string.h 函数memset(数组名,0,sizeof(数组名)) 将数组的数据进行排序 头文件algorithm 函数sort(数组名+第一个要排序的数据位置,数组名+最后一个要排序的位置加一),sort函数进行升序排列,若要降序排列需加入一个compare函数:bool compare(int a,int b) { return a>b; 就是告诉系统按降序排列。 } 形式;sort(a,a+10,compare); 条件语句: if,if ,else if和switch三种结构 if(条件) if switch(表达式) { { } { } else if{ case 常量1:实行语句 } case 常量2:实行语句 } if单分支结构可以同时进行多个条件下的实行语句,但elseif中只可执行其中一条实行语句。且每一个无条件下面都最好加上花括号尤其是有复合语句时必须加,case后面的语句加上break即可以实现if,else if的作用。 循环结构: 有for和while两种形式。 for(定义初值;变量变化范围;变量变化规律) {} while(条件) do {} { } while() 第一种while循环时需要先判断是否满足条件在进行循环中的语句,第二种是直接进行循环中的语句每当完成一次在判断是否符合条件,是否进行下次循环。循环时若进行到某一步时可以不继续进行时,可用break,意为跳出此次循环,并不是退出整个系统,退出整个系统要调用stdlib.h中的 exit(0)。但只是跳过此次循环改语句下的语句时可以用continue,只是跳过此次循环中该语句以下的语句,直接进入下次循环。 数组可以表示并存储多个数据,可以有多维数组,定义一位数祖时,例如 int p[100],定义二维数组则是p[11][11]这种类型。数组可以更好的处理大量数据,但设置数组的容量时不可过大,否则程序无法运行。数组中存储的数据都是在第0位开始的,可以与循环相互配合使用。向函数传递一维数组,在定义函数的时候类似与传递实数的方式, 既 返回值类型 函数名(数组类型 数组名[ ]),注意传递一维数组方括号内不需要有数值。例: int joy(int a[ ]) {

    01

    我从 Vuejs 中学到了什么

    框架设计远没有大家想的那么简单,并不是说只把功能开发完成,能用就算完事儿了,这里面还是有很多学问的。比如说,我们的框架应该给用户提供哪些构建产物?产物的模块格式如何?当用户没有以预期的方式使用框架时是否应该打印合适的警告信息从而提升更好的开发体验,让用户快速定位问题?开发版本的构建和生产版本的构建有何区别?热跟新(HMR:Hot Module Replacement)需要框架层面的支持才行,我们是否也应该考虑?再有就是当你的框架提供了多个功能,如果用户只需要其中几个功能,那么用户是否可以选择关闭其他功能从而减少资源的打包体积?所有以上这些问题我们都会在本节内容进行讨论。

    01

    我从 Vuejs 中学到了什么

    框架设计远没有大家想的那么简单,并不是说只把功能开发完成,能用就算完事儿了,这里面还是有很多学问的。比如说,我们的框架应该给用户提供哪些构建产物?产物的模块格式如何?当用户没有以预期的方式使用框架时是否应该打印合适的警告信息从而提升更好的开发体验,让用户快速定位问题?开发版本的构建和生产版本的构建有何区别?热跟新(HMR:Hot Module Replacement)需要框架层面的支持才行,我们是否也应该考虑?再有就是当你的框架提供了多个功能,如果用户只需要其中几个功能,那么用户是否可以选择关闭其他功能从而减少资源的打包体积?所有以上这些问题我们都会在本节内容进行讨论。

    03
    领券