
上篇聊了引用的本质,有人后台说想看const。来了。const是C++面试里考得最细的关键字之一。我面过很多人,包括我自己当年面试的时候,const的用法都写不全。讲个面试场景。面试官说:"你知道const有哪些用法?"大部分人能说出两三种:const变量、const参数、const成员函数。但面试官如果追问:"还有呢?"很多人就卡住了。其实const的用法至少有五种,而且每种在机器人开发里都有实际应用场景。今天一次讲清楚。第一种:const变量最基本的用法,定义一个不可修改的变量。const int MAX_SPEED = 100; // 机器人最大速度 MAX_SPEED = 200; // 编译错误!和#define相比,const有类型检查,作用域也更清晰。在机器人开发里,各种阈值、限制值都用const定义:const double PI = 3.14159265358979; const int MAX_ITERATIONS = 1000; const double GRAVITY = 9.81;第二种:const指针指针和const组合的时候,特别容易搞混。有个技巧:从右往左读。const int* p1; // p1指向的int是const的(指针可以改,指向的值不能改) int* const p2; // p2是const指针(指针不能改,指向