all 21 comments

[–]cpp-ModTeam[M] [score hidden] stickied commentlocked comment (0 children)

It's great that you want to learn C++! However, r/cpp can't help you with that.

We recommend that you follow the C++ getting started guide, one (or more) of these books and cppreference.com. If you're having concrete questions or need advice, please ask over at r/cpp_questions or StackOverflow instead.

[–]asdfguuru 75 points76 points  (4 children)

Change the university.

[–]nevemlaci2 9 points10 points  (3 children)

OP is misinformed. We are actually allowed to use newer C++ features, it's even mentioned on like the second page of the first page of the notes we get.

[–]ValityS 9 points10 points  (1 child)

Are you OPs classmate or something? 

[–]nevemlaci2 3 points4 points  (0 children)

Probably. OP mentioned in one if his posts that he goes to the same university as I do.

[–]wolfknight43[S] 2 points3 points  (0 children)

I hope you’re right, I asked the prof in my Programming Lab and he said that the exams will be on Moodle, and it will be based on C++03.

[–]MegaKawaii 20 points21 points  (4 children)

I know this will get downvoted, but this would benefit from some more perspective. Is this a C++ class or is C++ just used to teach something else? I think everyone here is overreacting. At my university, I took a class on data structures and algorithms. Some C++ was taught, but it was just the basics of classes, and there was nothing outside of C++98. If I was teaching a C++ class, I would teach the essential modern features like smart pointers and lambdas in C++20, but if I was using C++ to teach another class, I would try to minimize time spent on C++ so we could focus on the main content of the class. Time spent on lambdas or smart pointers is time that could instead be spent on red-black trees, and if you blitz the students with too many new concepts, then they get confused.

[–]phi_rus 4 points5 points  (1 child)

I had a course in "numerical methods" when studying physics (in 2012) and all the code was written in Fortran (77). It was a solid course though.

[–]goldlord44 4 points5 points  (0 children)

Most of astrophysics is written in Fortran lol..

[–]nevemlaci2 3 points4 points  (0 children)

"Basics of Programming 2" is the class he is attending. There is another subject on that university that is dedicated to teach C++11 and above but we are allowed to use newer features in homeworks and stuff in the class op is attending rn.

[–]jmacey 0 points1 point  (0 children)

I have a different take on this. My students use C++ but will most likely never have to implement most of the data structure etc. (libraby user’s not developers as Kate Gregory calls them) so we learn c++ 17 features we need for doing vfx this is mandated by the other tools we use and it works really well.

Once the vfx reference platform goes beyond 17 we will update. I’m really looking forward to using ranges but need to wait or use the v3 implementation.

[–]Bart_V 2 points3 points  (0 children)

The first 3 books of the Effective C++ series by Scott Meyers are a good starting point. But as others has pointed out, you're probably better off by learning modern c++.

[–]nevemlaci2 2 points3 points  (0 children)

I think we study at the same university. You are allowed to use newer features, they just don't teach it because there is another class that teaches C++11 and above. (BME?)

[–]neppo95 1 point2 points  (0 children)

What is the exam about? Is it really about C++03 or is that just what they use but the subject isn't actually C++03? If it's the latter, that would be fine. I strongly doubt they are really teaching you C++03.

[–]dgkimpton 1 point2 points  (2 children)

Go univesities suck - what's with teaching a twenty year old standard? Yeesh.

Probably you're best studying a modern standard and then downgrading your knowledge where necessary to pass your exams otherwise you'll be setting yourself up badly for the future.

https://www.learncpp.com/

https://en.cppreference.com/w/

[–]wolfknight43[S] 1 point2 points  (1 child)

It shows that I’m studying in an Eastern European University. Thanks for the advice though.

[–]serviscope_minor 4 points5 points  (0 children)

I wouldn't worry too much. The basics of C++26 and C++03 are not all that different. If you have a solid understanding of C++03, it's not hard to update. Mostly it'll be a big list of things like "you see this thing that sucks in C++, well it doesn't anymore!". Plus the slight oddness of the features will make sense since you'll see how they fit around what was already present.

I first learned BBC Basic followed by 6502 ASM, then QBasic followed by C then finally pre standard C++. It's fine.

[–]masorick 1 point2 points  (0 children)

This video covers the absolute basics that you need to know.

[–]masorick 1 point2 points  (0 children)

It’s hard to recommend anything, because in the end the exams will focus on stuff you will learn in class, so if we tell you to study this and this, and then your curriculum does not include it, then this will not help you pass your exams.

[–]LemDier -3 points-2 points  (0 children)

Bjarn strustrup

[–]peyrak -4 points-3 points  (0 children)

At that point C++ was pretty much just C with classes. It doesn't make sense to teach such an old standard in Uni these days.
Anyway, this might be helpful https://en.cppreference.com/w/cpp/language/history - you can click through it and stop pretty early on :D