C++知识积累

1.给定一个指针,如何判断这个指针是否已经指向一个合法的对象?来自C++ Primer第五版的一个题目。

不行!知乎回答


2.const指针和指针const区别?

C++真是逆天...我一开始也奇怪很久。

C++知识积累_第1张图片
C++知识积累_第2张图片
C++Primer

上图中 const curErr = &errNumb和const curErr = errNumb是有区别的。
你可以这样想象:const curErr -->&errNumb errNumb-->const curErr。

C++知识积累_第3张图片
C++知识积累_第4张图片
C++Primer

所以区分这2个,最好是用顶层还是底层区分好。
顶层:就是地址和地址的值不变,底层说明他的数值是可以改变,但本身地址不变。
因为const初始化需要定义和赋值,注意定义和赋值是2个概念。所以这里已经确定了。


3.constexpr函数和普通函数区别?

C++知识积累_第5张图片
C++Primer

内联函数:通常函数可以在调用地方进行函数展开,他只是向编译器发送一个请求。当然编译器可以选择忽略。

C++知识积累_第6张图片
C++Primer

你可能感兴趣的:(C++知识积累)