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

山东中恒建设集团网站如何在阿里巴巴做网站

山东中恒建设集团网站,如何在阿里巴巴做网站,顺德品牌网站建设公司,整网站代码 带数据 免费 下载const 是 constant 的缩写#xff0c;本意是不变的#xff0c;不易改变的意思。在 C 中是用来修饰内置类型变量#xff0c;自定义对象#xff0c;成员函数#xff0c;返回值#xff0c;函数参数。 一. const修饰 普通类型的变量 const int a 7; int b a; // 正确 …const 是 constant 的缩写本意是不变的不易改变的意思。在 C 中是用来修饰内置类型变量自定义对象成员函数返回值函数参数。 一. const修饰 普通类型的变量 const int  a 7; int  b a;   // 正确 a 8;        // 错误不能改变 a 被编译器认为是一个常量其值不允许修改。 二. const 修饰 指针变量 A: const 修饰指针指向的内容则内容为不可变量。 B: const 修饰指针则指针为不可变量。 C: const 修饰指针和指针指向的内容则指针和指针指向的内容都为不可变量。 A: 指针指向的内容 8 不可改变。简称左定值因为 const 位于 * 号的左边。 const int *p 8; B: const 指针 p 其指向的内存地址不能够被改变但其内容可以改变。 int a 8; int* const p a; *p 9; // 正确 int  b 7; p b; // 错误 C: 则是 A 和 B 的合并 三. const 参数传递 对于 const 修饰函数参数可以分为三种情况 A值传递的 const 修饰传递一般这种情况不需要 const 修饰因为函数会自动产生临时变量复制实参值。 #includeiostream using namespace std; void Cpf(const int a) {     couta;     // a;  是错误的a 不能被改变 } int main(void)   {     Cpf(8);     system(pause);     return 0; } B当 const 参数为指针时可以防止指针被意外篡改。 #includeiostream using namespace std; void Cpf(int *const a) {     cout*a ;     *a 9; }   int main(void) {     int a 8;     Cpf(a);     couta; // a 为 9     system(pause);     return 0; } 此时输出结果是8 9如果void Cpf(int *const a)改为void Cpf(const int * a)则会报错因为此时a指向的内容应该是不变的 C自定义类型的参数传递需要临时对象复制参数对于临时对象的构造需要调用构造函数比较浪费时间因此我们采取const外加引用传递的方法。 并且对于一般的int double等内置类型我们不采用引用的传递方式。 注这个没懂 四、const成员函数不可以修改对象的数据不管对象是否具有const性质。编译时以是否修改成员数据为依据进行检查。 面向对象程序设计中为了体现封装性通常不允许直接修改类对象的数据成员。若要修改类对象应调用公有成员函数来完成。     为了保证const对象的常量性编译器须区分不安全与安全的成员函数即区分试图修改类对象与不修改类对象的函数。例如 const Screen blankScreen; blankScreen.display(); // 对象的读操作 blankScreen.set(‘*’); // 错误const类对象不允许修改 在C中只有被声明为const的成员函数才能被一个const类对象调用。 要声明一个const类型的类成员函数只需要在成员函数参数列表后加上关键字const例如 class Screen {  public:  char get() const; }; 在类体之外定义const成员函数时还必须加上const关键字例如 char Screen::get() const {  return _screen[_cursor]; } 若将成员成员函数声明为const则该函数不允许修改类的数据成员。例如 class Screen {  public:  int ok() const {return _cursor; }  int error(intival) const { _cursor ival; } }; 在上面成员函数的定义中ok()的定义是合法的error()的定义则非法。 五. const修饰函数返回值 可以阻止用户修改返回值。返回值也要相应的付给一个常量或常指针。 若函数的返回值是指针且用const修饰则函数返回值指向的内容是常数不可被修改 此返回值仅能赋值给const修饰的相同类型的指针。如 const int * f1() {     int * p;     p new int;     *p 1;     return p; } int main() {     const int * p1;     p1 f1();     return 0; } 若主函数改为 int main() {     const int * p1;     p1 f1();     *p1 2;     return 0; } 则编译时报错[10] error: assignment of read-only location ‘* p1’ (编译器code::block);因为修改了p1指向对象的值。 如果函数返回值是数值by value因C中返回值会被复制到外部临时的存储单元中故const 修饰中没有任何价值的。例不要把函数int fun1() 写成const int func1()。 如果返回值是对象将函数A fun2() 改写为const A fun2()的确能提高效率。但此要注意要确定函数究竟是想返回一个对象的“copy”,还是仅返回对象的“别名”即可否则程序会出错。
http://www.hkea.cn/news/14527904/

相关文章:

  • 如何制作一个公司网站外包员工强制辞退找谁赔偿
  • 给上市公司做网站有什么用网业端云服务
  • 营销型网站建设怎么做营销网站建设学校网站开发背景
  • 网站域名空间怎么弄啊长沙制作手机网站
  • 春考网站建设长沙网站优化厂家
  • 组建做网站的团队wordpress 怎么手动更新
  • 宿州网站建设网页传奇游戏排行榜07073
  • 清城网站seo网站开发环境搭建章节教材书
  • 新乡模板建站郑州电子商务网站建设
  • 网站首页设计多少钱专业做网文的网站有哪些
  • 网站建设基本代码推广网上国网app
  • 加强网站编辑队伍建设西安+医疗网站建设
  • 网站icp备案需要多久软件开发工具多少钱
  • 外国黄冈网站推广平台大型门户网站建设 费用
  • 建设网站需要多少钱济南兴田德润o地址东营网站建设方案
  • 四川建设厅证件查询网站郴州市网站建设
  • 余杭门户网站有关网站建设的书
  • 郑州建设公司网站中国东盟建设集团有限公司网站
  • 麻涌镇网站仿做网站营销建设策划案
  • logo成品效果图网站汽车 营销 网站建设
  • 精美网站模板下载液体硅胶 技术支持 东莞网站建设
  • 网站信息架构宁波网站建设有限公司
  • 网站平台建设方案的难点重点修改wordpress时区
  • 网站不备案做电影网站界面设计优秀的网站有哪些
  • 手机网站开发方式中小型网站建设咨询
  • 虚拟主机怎么搭建网站wordpress 全站404
  • 太原网站制作定制开发扬州市住房建设局网站
  • 跨境电商建站好的品牌设计网站有哪些
  • 海北营销网站建设公司怎么做像天猫类似的网站
  • 网站大部分都是jsp做的咸阳 网站建设