I am in the field of cyber security or more specifically cyber security focused software development since pentesting is more about knowing how to use your toolset instead of being able to program it.
So last year I spent quite amount of time with Python, it was really easy & fun to learn. But it was just not enough for full scale software development. So this year I want to devote my time to learning C++, and adding Python + C++ combo to my skill set.
Currently reading Stroustup's "Programming: Principles and Practice using C++", I know that it is written for newbies but coming from a high-level programming language background where some of the subjects are highly abstract I just want to refresh my knowledge with low-level stuff this time.
So here is my questions:
1. What the fuck is wrong with C++ 11/14/17? Is there a reason why people don't like the newer standards or is it just a meme?
2. C++ has some overhead compared to C, it is a very known thing. But is the overhead optional, can't I just disable the stuff that I don't want and minimize the overhead in the final build?
3. MinGW vs. MSVC? Practically speaking.
4. Which IDE would you recommend? Currently using CLion but still haven't decided, might switch to VS in the end.
5. Any book/resource recommendations? Especially cybersec programming.
You can check the cert c++ coding guidelines, and after check some coding standard depending on what you want to do
>>61610084
>C++ has some overhead compared to C
Doing OOP in C leads to worse performance than in C++. Templating allows to idiomatically do things that would involve runtime overhead in C at compile time. So no, it's not "a very known thing".
C++ is split up into two camps. The first one uses a small sunset to reduce runtime overhead. To other uses all nice features C++ has at the cost of runtime overhead.
>>61610084
Use Clion and use the newest standard you can use.
C++98 is quite awful. The language has improved a lot with C++11.
Unless you have an old shitty project with millions of LOC that wouldn't compile in new C++ standards mode, you have no reason to limit yourself.
>>61610084
>Any book/resource recommendations?
Its based on C and teaches basic buffer overflows and exploits.
>>61612010
what extra overhead are you talking about.
most c++ features dont have any runtime overhead.
>>61612319
shared_ptr unique_ptr
>>61612456
unique_ptr is just a pointer that deletes itself when it goes out of scope.
shared_ptr does have some overhead if you dont use all the features, weak_ptrs, custom deleters, or thread safety.
>>61612456
>unique_ptr
>runtime overhead
No.
>>61612101
This book is great, but it's a terrible way to learn C or C++ for that matter.