元芳你怎么看

本网站主要用于记录我个人学习的内容,希望对你有所帮助

0%

指针和数组

C 语言中指针和数组这两个概念密不可分,以至于如果没有理解其中一个概念,就无法彻底理解另一个概念。

数组

很基础的一些知识点我就不重复了。关于数组,需要注意的有两个点:

  1. C 语言中只有一维数组,而且编译期间就要知道数组的精确大小。数组的元素可以是任何类型的对象,当然也包含了数组,这也就是多维数组。
  2. 对于一个数组,我们其实只能干两件事情:确定数组的大小、获取指向该数组下标为 0 的元素的指针。看到这话你是不是要反驳我了:不对呀,你写博客写糊涂了吧?我还可以arr[1]的操作呀。其实[]操作的本质是通过指针来实现的。比如arr[i] = 1其实上是*(arr + i) = 1,这里的 arr就是指向该数组下标为 0 的元素的指针。
    阅读全文 »

须知

std::move 不做任何移动, std::forward 不做任何转发。它们在运行的时候什么都没干。
它们两个都只做了强制类型转换std::move 无条件将实参强制转换成右值,std::forward 是有条件的执行强制类型转换。

阅读全文 »