隐式解引用。

来源:互联网 发布:mysql先排序后分页 编辑:程序博客网 时间:2024/06/08 15:16

注意指针解引用必须括在括号因为成员选择运算符具有比解引用操作符的优先级更高的

因为访问结构和类成员通过指针是笨拙的语法,C + +提供的第二个成员选择运算符(->)从指针做成员选择。下面的两行是等价的

1
2
(*psSomething).nValue = 5;
psSomething->nValue = 5;
这不仅是容易的,但也更不容易出错因为没有优先的问题的担心。因此在做成员访问通过指针总是使用->操作符

是的,这是可能的,更多的是比使用矢量更

当你说“动态大小的数组”,你想动态分配数组到一个特定的大小,或动态地调整现有的阵列?任何事都是可能的但后者更难

另外,如果你通过一个非const引用数组的函数,这意味着函数要修改数组。不需要返回一个引用返回给调用者,因为调用者可以通过它原来的名字访问数组

在前面的课程中,你学到了局部变量(有块范围)和全局变量(有计划的范围)。还有另一个作用域的变量,可以水平:文件范围

文件范围内的变量可以被访问的任何功能或嵌在一个单一的文件。申报文件作用域的变量简单地声明一个变量,块外(同一个全局变量)使用static关键字

同样,一个const引用的行为就像一个const指针指向const对象是隐式解引用

因为引用总是“点”来有效的对象,而不能指出释放内存,引用的是比使用指针安全。如果一个任务可以通过引用或指针解决,参考一般应首选。指针通常只能用引用是不充分的情况下(如动态分配的内存

成员的选择

通常有一个指针或引用一个结构(或类)。正如你已知道的你可以选择使用一个struct的成员选择运算符成员


0 0
原创粉丝点击