c++ 基础1、让我们百般回眸的const

有时候会奇怪,为什么老是记不住一些常用的关键词用法,最后才发现是你自己动手不够,没有理解它才会忘记。所以古人说温故而知新,所以我博客里面的所以内容都是一次输入和输出,总得留下一下什么吧。

1、为什么需要const 

因为我们希望在程序当中一些关键变量不会被改变,因而这些变量被我们称之为常量,用来提高程序的安全性

2、const 用法

总结 const 用处修饰常量、修饰指针、修饰类成员函数(常量函数)、修饰函数传参数

1、const 修饰常量 记住 int const 和const int 并没有区别

2、const 修饰指针  记忆法 从右边往左边翻译

char *const cp; //到char的const指针
char const *pc1; //到const char的指针
const char *pc2; //到const char的指针(后两个声明是等同的)
从右向左读的记忆方式:
cp is a const pointer to char. 故pc不能指向别的字符串,但可以修改其指向的字符串的内容
pc2 is a pointer to const char. 故*pc2的内容不可以改变,但pc2可以指向别的字符串

3、修饰类成员函数,表示不能修改类中数据成员也不能调用类的成员函数

4、修饰函数传参 意志传递进入的参数不被函数内部所修改,即不允许修改

#include <iostream>
#include <stdlib.h>
#include <stdio.h>

class chang {
public:
	chang() = default;
	~chang() = default;
	
	///修饰类传数 一般配被 & 意志传递进入的参数不被函数所修改,即不允许修改
	inline bool setValue(const int& va) {
		m_value = va;
		return true;
	}
	/// 修饰函数,表示不能修改类中数据成员也不能调用类的成员函数
	inline int getValue() const {
		return m_value;
	}
private:
	/// 用muteable 修饰以允许该成员可以在常量函数中被修改
	mutable int m_value;
};

int main()
{
	///修饰常量
	int zer = 10;
	const int a = 10;
	int const b = 100;
	std::cout << "a:" << a<< "b:"<<b << std::endl;
	///用于指针 常量指针、指针常量,
	/// d  is a poiter to const int
	int const *d = &a;
	/// e is a poiter to const int 
	const int* e = &b;
	/// f is const pointer to int 
	int* const f = &zer;
	///用于类
	chang c;
	c.setValue(a);
	std::cout << "c:" << c.getValue() << std::endl;
	
	return 0;
}

一般对于const 的用法也就这些了,由于本人经验有限,如有问题,欢迎修正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值