Live data from Hacker News

Data Structures and Algorithms Problems

techiedelight.com

11–12 of 12 posts

Re: Data Structures and Algorithms Problems

#11
post #2

One nitpick (and this applies to almost every site of this genre, i.e. geeksforgeeks, hackerrank, etc.): The code listed as "C++" is essentially C with ostreams. If I were interviewing someone and they claimed to know C++, and then used "sizeof(A) / sizeof(A[0])" to get the size of an array, I'd question how much C++ they actually knew. I understand that the focus here is mainly on problem solving and not language sp…

> If I were interviewing someone and they claimed to know C++, and then used "sizeof(A) / sizeof(A[0])" to get the size of an array, I'd question how much C++ they actually knew. Or they've spent a lot of time in embedded systems development. Many of us write rather C-ish C++ because of the limitations of older compilers and the age of the code bases.

Genuine curiosity because I don't have a whole lot of experience with embedded systems: Why not just use C then?

Either way I would argue that using sizeof in that way is a sketchy practise.

Re: Data Structures and Algorithms Problems

#12
post #6

Earlier quoted context omitted.

std::array is stack allocated array with known size compile time. std::vector is dynamically allocated array (on heap). So C array equivalent = std::array, not std::vector.

The point of the parent was to write C++ code the C++ way. Most arrays in real programs should be std::vector. Imitating C arrays with std::array is the perfect example of bastardized C/C++ code.

Using std::array is writing code C++ way. If you know size of the array compile time and you know it will fit the stack then there is no reason to use std::vector.
Post reply on HN