C++:const关键字

const关键字

  • 语言中const用法回顾
    (1)const变量,比宏定义的优势是带数据类型,可以让编译器帮我们做类型检查
    (2)const数组,和常量变量类似
    (3)const指针,三种情况:const int *p, int * const p, const int *const p;

  • C++中const新增用法
    (1)const引用,主要用于函数传参,限制函数内部对实参进行修改
    (2)const成员函数,限制函数内部对类的成员变量的修改

void printValue(const int& value) {
    // value 是 const 引用,不能修改
    std::cout << "Value: " << value << std::endl;
}
//要求传地址,形参定义时加const是为了告知所有人(负责实现函数的,调用该函数的,编译器函数内不会修改传参所指向实参

int test() {
    int x = 10;
    printValue(x);  // 传递变量
    std::cout << "x : " << x  << std::endl;
    printValue(20); // 传递常量
    std::cout << "x : " << x  << std::endl;
    printValue(x + 5); // 传递表达式的结果
    std::cout << "x : " << x  << std::endl;

    return 0;
}

const有关的其他几个关键字

mutable
(1)mutable用来突破const成员函数的限制,让其可以修改特定的成员变量
(2)案例参考:https://www.cnblogs.com/yongdaimi/p/9565996.html

constexpr
(1)用法如下:n
constexpr int multiply (int x, int y)
{
    return x * y;
}
const int val = multiply( 10, 10 );		// 将在编译时计算
const int val = 100;

(2)本质上是让程序利用编译时的计算能力,增加运行时效率
(3)由C++11引入,但是实际有一些编译器并不支持,需实际测试

C++20新引入的2个
(1)constinit https://zh.cppreference.com/w/cpp/language/constinit
(2)consteval https://zh.cppreference.com/w/cpp/language/consteval

模板编程的几个关键字

总结

学习记录,侵权联系删除。
来源:朱老师物联网大课堂

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

li星野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值