很多初学C++的童鞋对于const char*、char const*、char*const分辨的不是很清楚,就算背下来了遇到题目还是很容易错乱,下面教大家一个方法一秒钟记住他们的含义。
不凡假设 有三种声明为 const char* p、char const* p、char *const p。
我的方法是:遮住*左边的东西,然后三个变量就分别变成了*p、*p、*const p。
于是便很明确了,第一个第二个都是*p,然后设想,p是一个指针,那么*p便表示指针的内容是吧,于是便很明确了,前两个都是用const修饰内容,则表示一个常量,内容不可变。
第三个是const p,p是指针,于是也很明确,用const去修饰一个指针,则表示一个常指针,不可重定向。