该主题通常说明了一切。基本上是这样的情况:
boost::scoped_array<int> p(new int[10]);
在做:&p[0]
和之间的性能上有什么明显的区别p.get()
吗?
我问是因为我更喜欢第一个,它有一个更自然的指针,如语法。事实上,它使您可以用本机指针或数组替换 p 而不必更改任何其他内容。
我猜因为 get 是一个单行“ return ptr;
”,编译器将内联它,我希望它足够聪明,能够以operator[]
这样一种方式内联,即它能够不取消引用然后立即引用。
有人知道吗?