c++ const

本文详细介绍了C++中const关键字的使用方法,包括全局定义、类成员定义、函数参数及返回值修饰等,并解释了不同场景下const的意义及其带来的好处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

const的使用方法 
在全局定义 const float PI=3.1415926 在类中定义   class A {...   
  A(int size);   const int SIZE; }; 
A::A(int size):SIZE(size) {   ... } 
对参数和函数的定义(const只能修饰输入参数,不能修饰输出参数) const int x=1; 表示x的值是1,在程序中不能改变; 
const int* x; 表示x代表的地址所指向的内容是不能改变得; int const* x; 与const int* x;的表示的意思一样; int * const x; 表示x代表的地址是不能改变的;  
当是输入参数时,不需要是void Func(const int i),void Func(const int& i),可以是void Func(int i) 因为输入参数采用"值传递"(const int i),由于函数将自动产生临时变量用于复制该参数,该输入参数本来就无需保护,所以不要加const修饰; 
不用const int& i的原因在于内部数据类型的参数不存在构造、析构的过程,而复制也非常快,"值传递"和"引用传递"的效率几乎相当.  
当是输入参数时,不需要是void Func(const A a),void Func(A a),可以是void Func(A& a)或void Func(const A& a) 
不用const A a,A a的原因是函数的效率比较低,因为函数体内将产生A类型的临时对象用于复制参数a,而临时对象的构造、复制和析构过程都需要消耗时间 
最好用const A&a的原因是A&a中的a可以被改变,A&a和const A&a的好处在于都不会产生临时对象,效率高;  
const A Func(const A&a )const的好处 
第一个const表示返回的是个内部产生的对象,它不能被修改 const A Func(...) {...} 
const A a=Func(...);//不能是A a=Func(...); 
第二个const表示输入的参数是引用传递,函数内部不会产生临时对象,而且这个对象不能被内部修改 

第三个const表示此函数内部的所涉及的数据成员不能修改 

class Stack { 


        var cpro_psid = "u2787156";
        var cpro_pswidth = "966";

        var cpro_psheight = "120";

        int m_num; 

       int GetCount(void) const;   

       int Pop(void);

 } 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值