5 ms·
Out of curiosity, what do you use? I hope it isn't back to raw pointers and size_t offsets for lengths. What do you do if you want to pass a container of ... an
by yuushi 9y ago
Out of curiosity, what do you use? I hope it isn't back to raw pointers and size_t offsets for lengths. What do you do if you want to pass a container of ... anything around? What's the replacement for:
U do_something(const std::vector<T>& vec);
- nwatson 9y agoMy guess: they effectively turned C++ into Python with everything allocated from heap and wrapped with shared pointers ... and custom iterators and collections like old-style RogueWave Tools.h++.
- kbwt 9y agoNot OP but... output_type do_something(buffer_view input);
- JamesLeonis 9y agoRaw pointers can still be used for pass-by-reference without size. U do_something(std::vector<T> const *vec) { T item = (*vec)[1]; ...; } We can get away with this because the type `std::vector<T>` is known at compile time. It goes back to C and passing pointers of structs all over the place. The const on the right side makes sure the compiler keeps the memory at the pointed location safe like the const used in your initial question.
- yuushi 9y agoSure, you can pass by pointer instead of reference, but the post also mentioned that they didn't use the STL (hence no std::vector) and I'm curious if that means they used a replacement library or something else.