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

学校部门网站建设总结淘宝客网站的建设

学校部门网站建设总结,淘宝客网站的建设,wordpress搭建邮箱,成都保洁公司文章目录 简介什么是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.hkea.cn/news/14337709/

相关文章:

  • 网站规划项目与设计实例可编辑wordpress主题
  • 怎样提高网站的排名网络营销定价的特点有
  • 低多边形生成网站wordpress去掉标签前缀
  • 一个专门做特产的网站微信营销管理软件
  • 个人网站开发的感想东莞市招标网
  • 一般网站要多大的空间商城网站建设公司爱问
  • 大学网站栏目建设安徽省建设工程
  • 网站信息资源建设包括哪些哪个网站是vue做的
  • 央企做的好的网站公司画册设计模板
  • 做任务网站有哪些佛山提供网站设计方案公司
  • 站长工具免费网站后台网址忘记了 php
  • 阿里云服务器做电影网站wordpress手机菜单分行
  • 营销型网站开发指的是什么千图网官网免费图
  • 手机网站建设做竞价推广的技巧短链接在线生成器
  • 活泼风格的网站科技公司的网站
  • 辽宁住房和建设厅网站wordpress crm分销插件
  • 网站模板搭建百姓网二手车个人
  • c 网站开发人员工具seo外包团队
  • 网站建设承揽合同常州营销网站建设
  • 天河网站建设优化天津网站搜索引擎优化
  • 客户对网站设计的要求如何做网站策划案
  • 网页特效源码网站品味雅虎 wordpress主题
  • 网站 扩展做网站公司怎么做
  • 360提交网站深圳vi设计有哪些
  • 网站支付功能建设单页网站排名没有
  • 百度网盘做存储网站室内设计公司排名前50
  • 莱芜新站优化wordpress页面显示分类文章列表
  • 人才微网站开发国家建设部建筑业网站
  • 写作网站wordpress添加广告位
  • 想自己做一个网站应该怎么弄网站主机多大