返回对AOSP代码中局部变量的引用

时间:2018-07-31 11:55:54

标签: c++ reference local android-source

我在AOSP中发现了以下代码片段:

[diff "localizablestrings"]
textconv = "iconv -f utf-16 -t utf-8"

ProcessState::handle_entry* ProcessState::lookupHandleLocked(int32_t handle) { const size_t N=mHandleToObject.size(); if (N <= (size_t)handle) { handle_entry e; e.binder = NULL; e.refs = NULL; status_t err = mHandleToObject.insertAt(e, N, handle+1-N); if (err < NO_ERROR) return NULL; } return &mHandleToObject.editItemAt(handle); } 的原型是:

Vector.insertAt

因此很显然ssize_t insertAt(const TYPE& prototype_item, size_t index, size_t numItems = 1); 正在将对局部变量的引用插入向量中。由于C ++标准未定义传递对局部变量的引用的结果,因此我想知道为什么AOSP开发人员会像这样编写代码,这不是一个坏习惯吗?

0 个答案:

没有答案