ITPub博客

首页 > IT职业 > IT职场 > 物联网学习教程—Const用法和体会

物联网学习教程—Const用法和体会

IT职场 作者:千锋教育官方 时间:2019-08-23 17:32:27 0 删除 编辑

写 Const 用法和体会 主要 就 是为了程序的健壮型, 减少程序出错 .
最基本的用法:
const int a=100;        b 的内容不变 ,b 只能是 100 也就是声明一个 int 类型的常量 (#define b =100)
int const b=100;        // 和上面作用一样

const 指针和引用一般用在函数的参数中
int* m = &a;   // 出错 , 常量只能用常指针
int c= 1;const int*pc = &c;// 常指针可指向常量

const int* pa = &a;     // 指针指向的内容为常量 ( 就是 b 的值不变 )
int const *a = &b;     // 指针指向的内容为常量 ( 就是 b 的值不变 )*p=3//error
int* const a = &b;     // 指针为常量 , 不能更改指针了如 a++ 但可以改值 *p=3;

从这可以看出const 放在 * 左侧修饰的是指针的内容 ,const 放在 * 右侧修饰的是指针
本身.

const 引用的用法和指针一样
int const &  a=b;          和指针一样
const int& a=b;          和指针一样
但没有 int& const a=b 的用法因为引用不能做移位运算,但只是出个 warning

const int* const a = &b;   // 综合应用 , 一般用来传递多维的数组
类如: char* init[] = {"Paris","in the","Spring"};
void fun(const int* const a){}
fun(init)// 保护参数不被修改

int A(int)const;      // 是常函数,只能用在类中,调用它的对象不能改改变成员值
const int A();     // 返回的是常量 , 所以必须这么调用    cosnt int a=A();
int A(const int);  // 参数不能改值 , 可用在任意函数
int A(const int*);
....
int height() const;// 常函数只能由常函数调用
int max(int,int) const;
int Max = max(height(),height());

 

const int* pHeap = new int;
delete pHeap;
p = NULL;// 出错
我的解决办法是强制类型转换
const int*   pHeap = new int(1);
delete (int*)pHeap;
pHeap = NULL;

暂时 就遇到这些问题, 不知道大家 还有 那些 补充的吗 ?

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69914734/viewspace-2654760/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
千锋IT职业教育——做真实的自己 用良心做教育

注册时间:2019-03-28

  • 博文量
    140
  • 访问量
    92341