jorisvandenbossche commented on code in PR #41956:
URL: https://github.com/apache/arrow/pull/41956#discussion_r1627677839
##########
cpp/src/arrow/array/array_nested.cc:
##########
@@ -847,14 +847,13 @@ Result<std::shared_ptr<Array>>
MapArray::FromArraysInternal(
const auto& typed_offsets = checked_cast<const OffsetArrayType&>(*offsets);
BufferVector buffers;
- int64_t null_count;
- if (null_bitmap != nullptr) {
- buffers = BufferVector({std::move(null_bitmap), typed_offsets.values()});
- null_count = null_bitmap->size();
- } else {
- buffers = BufferVector({null_bitmap, typed_offsets.values()});
- null_count = 0;
+ buffers.resize(2);
+ int64_t null_count = 0;
+ if (null_bitmap) {
+ buffers[0] = std::move(null_bitmap);
Review Comment:
Sorry, reading your comment above more carefully, you actually already
explain it ;)
> (I know this is not the style in the other `std::shared_ptr` parameters
but is the direction we want to go with parameters in constructors of factory
functions in general).
Is this documented somewhere? For people not following the C++ development
daily or less familiar with C++ (there are also a lot of different ways to
write C++ code ..), it might be useful to have some guidelines about which
typical patterns we want to use in Arrow (not sure if that would fit in
https://arrow.apache.org/docs/dev/developers/cpp/conventions.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]