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

商业空间设计案例分析石家庄谷歌seo公司

商业空间设计案例分析,石家庄谷歌seo公司,官方网站后台怎样做超链接,网站开发容易学文章目录 简介什么是const呢?const 的使用1.用来定义常量2.和指针相关的const3.函数与const4.类中使用const(重点) c中去掉const属性验证不同对象的调用const修饰类内成员 c中的const 和 c中的const 的区别c中的const为什么c中的const常量又不能通过指针修改呢 const 和 #defi… 文章目录 简介什么是const呢?const 的使用1.用来定义常量2.和指针相关的const3.函数与const4.类中使用const(重点) c中去掉const属性验证不同对象的调用const修饰类内成员 c中的const 和 c中的const 的区别c中的const为什么c中的const常量又不能通过指针修改呢 const 和 #defineconst总结 简介 最近在阅读Effective C这本书,阅读到条款三:尽可能的使用cosnt发现有好多遗忘的点,故写一篇文章来总结有关C的 cosnt 什么是const呢? const关键字用于定义一个常量表示该对象是不能被修改的是只读变量。 const 的使用 1.用来定义常量 在定义的时候需要进行初始化 const int x 1; // x用const修饰后只读 x 2; //error2.和指针相关的const 指针所指向的内容不可以修改,如果const位于星号的左侧,则const就是用来修饰指针所指向的变量即指针指向为常量 const char c x; char const *p c; //这里表示c是不可以修改的 const char* p c; //这里表示c是不可以修改的指针本身不可以修改,如果const位于星号的右侧,const就是修饰指针本身即指针本身是常量 char a y; char c x; char* const p c; //这里表示p是不可以修改的 p y ; //error *p 1 ; //可以的3.函数与const const修饰函数返回值 const int* f(); //int* 所指向的内容是不可以修改 int * const f(); //指针本身不可以修改const修饰函数的参数 //这里是值传递,产生的临时指针指向的内容不可以修改 void f(const int* a) //引用的内容不可以修改 void f(const int a)4.类中使用const(重点) const成员函数,在函数访问方面,只能访问const函数,不能访问非const函数 const成员函数,在变量访问方面,可以访问const和非const变量 非const成员函数,可以访问const和非const的成员函数和变量 const 对象只能操作const成员函数,不能操作非成员函数 const对象可以访问const和非const变量 c中去掉const属性 用const_castnew_type(expression) new_type是转化之后的类型 expression是被转化的表达式 验证不同对象的调用 #includeiostream #includevector using namespace std;class test { public:void f1();void f2()const; };int main() {test t1;const test t2;//t1都能调用成功//非const对象能调用const和非const成员函数t1.f2();t1.f2();t2.f1(); //const对象调用非const成员函数错误const_casttest(t2).f1(); //把const属性去掉t2.f2(); } const修饰类内成员 const成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其const成员的值可以不同。所以不能在类声明中初始化const成员,因为类的对象未被创建时,编译器不知道const 成员的值是什么const数据成员的初始化只能在类的构造函数的初始化表中进行。要想建立在整个类中都恒定的常量,应该用类中的enum常量来实现(enum back)。 class test { const int x 100; //这是错误的 };class test1 { enum { x 10 }; //enum back }c中的const 和 c中的const 的区别 c中的const #include stdio.hint main() {const int a 1;int *p (int *)a; printf(1: %d\n, a); //1*p 10;printf(2: %d\n, a); //10 可以发现a被修改成10了 }为什么用指针能修改const常量的值呢? 其实const修饰的局部变量是在栈上分配空间所以可以用指针修改该空间的值而修改该const局部变量的值 为什么c中的const常量又不能通过指针修改呢 定义时,变量并不开辟内存空间,不会存储在内存中,而是开辟一张表以key-value的形式存储,当const变量进行普通使用的时候直接去表里面进行查表,拷贝过来用,当有取地址操作(包含引用)或者extern操作跨cpp文件使用的时候会开辟一片内存空间,从表中将值复制过来,存储在该内存空间,所以无论普通使用,还是通过取地址等操作,值都没有变,都来源那个表 const 和 #define const和define都能作为常量来使用 区别 const有作用域的概念,函数内部定义的const变量只能在函数内部使用而define没有作用域的概念(除非使用ifdef配合)一个函数内定义的宏定义变量可以在另外一个函数中使用const变量的处理时机是编译器,所以会有作用域等检查define是由预处理器处理,是单纯的文本替换define不能用来定义class专属常量,没有任何封装性 const总结 我们应当尽可能的使用const,减少#define的使用任何不会修改数据的成员函数都应该声明为const 类型:void fun() const;函数的返回值为某个对象时如果将其声明为const时多用于操作符的重载
http://www.w-s-a.com/news/436924/

相关文章:

  • 安阳市哪里做网站建设网站流量怎么赚钱
  • 网站开发与优化课程总结软件班级网站建设
  • py网站开发wordpress 公司网站 模板 下载
  • 长春城乡建设部网站首页英文网站推广服务
  • wordpress实训上海整站seo
  • 福建自己建设网站义乌市企推网络科技有限公司
  • 宁波优化网站哪家好织梦网站地图怎么做
  • 怎么在自己的网站加关键词烟台企业网站建设
  • 中山网站建设界面设计职业技能等级证书
  • 做网站首页多少钱免费版企业邮箱注册
  • ppp模式在网站建设的南昌专业做网站公司哪家好
  • 泰安网站建设制作电话号码百度sem竞价托管公司
  • 苏网站建设网页设计和网页美工
  • 跨境电商平台网站广州地铁站路线图
  • 吉林省交通建设集团有限公司网站企业网站推广的策略有哪些
  • 网站内链怎么做更好郑州网站建设哪家便宜
  • 建设大型购物网站运城哪里做网站
  • php企业网站通讯录管理系统做网站在线支付系统多少钱?
  • 怎么区分用vs和dw做的网站贝贝网网站开发背景
  • 无锡网站建设制作建设信息网查询
  • 彩票系统网站开发建设人力资源网官网
  • 有专门下载地图做方案的网站吗网站建设平台计划书
  • 网站闭站保护10个著名摄影网站
  • 安徽省建设工程信息网官网首页网站关键词排名优化工具
  • 深圳网站建设 百业网站专题教程
  • 公司seo是指什么意思如何来做网站优化
  • 化妆品网站建设平台的分析湖南网站搜索排名优化电话
  • 织梦网站修改教程视频教程管理类网站开发价格
  • 如何让新网站快速收录企业建站的作用是什么
  • 在线制作简历的网站做的最好的微电影网站