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

互动创意网站上海网站分站建设

互动创意网站,上海网站分站建设,岳阳网站开发网站运营,嵌入式工程师证书怎么考const限定符# 1.限定常量有时我们希望定义这样的变量#xff1a;它的值不能被改变。为了满足这一要求#xff0c;我们使用const对变量的类型加以限定#xff1a;const int bufSize 512;这样就把bufSize定义成了一个常量#xff0c;它的值不能再发生变化。所以这也就意味着… const限定符# 1.限定常量有时我们希望定义这样的变量它的值不能被改变。为了满足这一要求我们使用const对变量的类型加以限定const int bufSize  512; 这样就把bufSize定义成了一个常量它的值不能再发生变化。所以这也就意味着const对象必须要初始化。那么初始化操作对于const对象来说意味着什么呢如果利用一个对象去初始化另外一个对象则它们是不是const都无关紧要int i  42; const int ci  i;  //正确 int j  ci;  //正确 这里要注意的是虽然使用常量ci去初始化j但是拷贝一个对象的值并不会改变它一旦完成拷贝新的对象就和原来的对象没有什么关系了。# 2.const对象仅在文件内有效默认情况下const对象被限定仅在文件内有效。当多个文件中出现了同名的const变量时其实等同于在不同文件中分别定义了独立的变量。但是如果需要将const变量在多个文件中实现共享该怎么办呢要做到在一个文件中定义const而在其它多个文件中声明并且使用它解决的办法就是对于const变量不管是声明还是定义都添加extern关键字这样只需要定义一次就够了。//第一个文件file1 extern const int bufSize  fcn(); //第二个文件file2 extern const int bufSize;  //与file1里面的是同一个 const的引用对常量的引用不能被用作修改它所绑定的对象const int ci  1024; const int r1  ci;  //正确引用及其对应的对象都是常量 r1  42;    //错误r1是对常量的引用 int r2  ci;    //错误r2是非常量引用ci是一个常量 我们知道引用的类型必须与其所引用的对象的类型一致但是有两个特殊情况1初始化常量引用时允许用任意表达式作为初始值只要该表达式的结果能转换成引用的类型即可。double dval  3.14; const int ri  dval; ri引用了一个int型的数但是dval确实一个双精度浮点数编译器会将其变成如下形式const int temp  dval; const int ri  temp; 2对const的引用可能引用一个并非const的对象int i  42; const int ri  i; 这种方式是允许的。# const与指针顶层const顶层const表示指针本身是一个常量不能改变它的指向。int i  43; int * const p1  i; 底层const表示指针所指的对象是一个常量。int i  43; const int * p1  i; int const * p2  i; # 常量表达式与constexpr常量表达式指的是值不会改变且在编译过程中就能得到计算结果的表达式const int max_file  20;    //是常量表达式 const int limit  max_file  1    //limit是常量表达式 int stuff_size  10;      //stuff_size不是常量表达式 const int sz  getSize();     //sz不是常量表达式 C11标准规定允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式。声明为constexpr的变量一定是一个常量而且必须用常量表达式初始化constexpr int mf  20;  //  正确 constexpr int limit  mf  1;    //mf1是常量表达式 constexpr int sz  size();      //只有当size()是一个constexpr函数时才是一条正确的语句 需要注意的是在constexpr声明中如果定义了一个指针限定符constexpr仅针对指针有效与所指的对象无关。# auto类型说明符C11引入auto类型说明符它可以让编译器通过初始值来推断变量的类型。显然auto定义的变量必须有初始值。但是auto会忽略掉顶层constconst int ci  i, cr  ci; auto b  ci;     //b是一个整数 auto c  cr;    //c是一个整数 auto d  i //d是一个整型指针 auto e  ci  //e是一个指向整型常量的指针这是底层const 但是有时会遇到一种情况我想知道这个表达式结果的类型但是我又不想真的用这个表达式的结果来初始化变量。这个时候就要用到另外一个类型指示符decltypedecltype(f()) sum  x;    //sum的类型就是f()函数的返回类型 编译器并不会实际调用函数f()而是使用当调用发生时f的返回值类型作为sum的类型。decltype的一个坑对于decltype所用的表达式来说如果decltype给变量加上括号则返回的是引用类型int i  42; decltype((i)) d;    //错误d是int必须初始化 推荐阅读专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈嵌入式Linux微信扫描二维码关注我的公众号
http://wiki.neutronadmin.com/news/82021/

相关文章:

  • 电子系网站建设方案短视频营销方式
  • 网站风格和色调华为服务器
  • 软件开发与网站建设c 网站开发项目
  • 一个静态网站怎么做有什么php网站
  • 请人做游戏的网站七台河新闻哪里看回放
  • 哈尔滨速成网站建设火车头采集器wordpress发布模块
  • 学习网站建设0学起前端优化网站
  • 龙湖地产 网站建设商城网站怎么做优化
  • 怎么更改网站里的tdk源码上传网站
  • 商会网站设计上海广告公司
  • 国际物流东莞网站建设装潢公司网站设计与制作
  • 学院网站建设申请报告中国最大的建站网站
  • 网站优化一年多少钱互联网保险公司有几家
  • 百度云搜索引擎网站网站建设的细节处理
  • 加盟类网站怎么做做一网站需要多少钱
  • 北京三屏网站制作网站内链优化的角度
  • 一般网站建设流程有哪些步骤page文件怎么转换wordpress
  • 十堰市住房和城乡建设厅官方网站互联网公司怎么盈利
  • 做网站需要什么证件吗正规的锦州网站建设
  • 网站建设项目国内外分析报告wordpress前台很慢
  • p2p网站开发维护wordpress 微信 权限
  • 怎样做免费网站推广网站空间多大合适
  • 外贸soho虚拟公司做网站wordpress 页面 评论链接 新窗口打开
  • 河南省和建设厅网站首页免费网站建设咨询
  • 青岛手机网站建设南宁网络推广方案
  • 番禺商城网站建设最大的地方门户网站源码
  • 大学生网站开发总结报告如何给国外网站做seo
  • 做网站号码wordpress 商务
  • 国外空间网站3建设营销型网站流程图
  • 贵港网站seo织梦音乐网站模板