当前位置:首页 > 单片机 > C语言与CPP编程
[导读]C语言和C相关的面试题一直比较少见一些,没有Java方向写的人那么多,这是一篇C语言与C面试知识点总结的文章,非常难得。const作用修饰变量,说明该变量不可以被改变;修饰指针,分为指向常量的指针(pointertoconst)和自身是常量的指针(常量指针,constpointe...

C语言和C 相关的面试题一直比较少见一些,没有 Java方向写的人那么多,这是一篇 C 语言与 C 面试知识点总结的文章,非常难得。

const

作用

  1. 修饰变量,说明该变量不可以被改变;

  2. 修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer);

  3. 修饰引用,指向常量的引用(reference to const),用于形参类型,即避免了拷贝,又避免了函数对值的修改;

  4. 修饰成员函数,说明该成员函数内不能修改成员变量。

const 的指针与引用

  1. 指针
  • 指向常量的指针(pointer to const)
  • 自身是常量的指针(常量指针,const pointer)
  1. 引用
  • 指向常量的引用(reference to const)
  • 没有 const reference,因为引用本身就是 const pointer
(为了方便记忆可以想成)被 const 修饰(在 const 后面)的值不可改变,如下文使用例子中的 p2、p3。

使用

// 类
class A
{
private:
   const int a;                // 常对象成员,只能在初始化列表赋值

public:
   // 构造函数
   A() : a(0) { };
   A(int x) : a(x) { };        // 初始化列表

   // const可用于对重载函数的区分
   int getValue();             // 普通成员函数
   int getValue() const;       // 常成员函数,不得修改类中的任何数据成员的值
};

void function()
{
   // 对象
   A b;                        // 普通对象,可以调用全部成员函数、更新常成员变量
   const A a;                  // 常对象,只能调用常成员函数
   const A *p =
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭