FAQ update

Pages: 12

Let me know if I've missed any resources. (Or any names to add to the evil list.)
You should also mention the confusing difference between "C++ Primer" and "C++ Primer Plus" - the stackoverflow link briefly mentions it but most seem to miss it since it is a footnote.

And thanks! I will now start linking to that page instead of linking directly to stackoverflow.
Last edited on
Slightly offtopic, but I don't know where else to put it: Does this site actually have a link to the FAQ at all? I spent a while looking and I can't seem to find it (apart from this one: http://www.cplusplus.com/info/faq/), meaning I need to actually type it into my address bar... Is there a reason for this?
Click on "Information" :)
I've always been divided about that site by Yechiel Kimchi. I've seen it referenced before and it is great for satire, but the reasons he pans some books are SO petty that they almost take away from his credibility. For example; he complains that a book explains classes before it explains functions, so what? If you're going to teach OOP why is it bad to just jump right into it and not leave any room for bad habits to form? Another complaint he has about a book is that it declares cin as a local variable like that isn't exactly what namespaces are for. All the emoticons on his page grate on my nerves as well.
@Resident I think NT3 was asking why there is no direct link to the FAQ not the information :P



@NT3, giblit
There will be a direct reference once the FAQ is ready to "go live", as it were. (That old link to the FAQ will be updated to the new FAQ.)

Kimchi's page is a bit dated, but it is still a valuable resource, methinks. I could be wrong. (Which is why I wanted feedback from y'all.)

We don't have to agree with all his reasons or his corny, eye-watering website, but he does have some sand in what he says.

Personally, I agree with him that functions should be taught before classes/OOP. What bad habits can form from that? (Again, I think he knows something about practical pedagogy.)

What think ye?
@Duoas nice work on the FAQ it looks really well done and informative. Keep up the good work
Update: http://www.cplusplus.com/faq/beginners/tutors/

I'm a little nervous about this one, because I felt obligated to point out the difference between the West and India (China, etc) when it comes to looking for help.

Is that a mistake?
Is that a mistake?

I think it would be better if you didn't mention specific countries, and more helpful if you mentioned how to detect that one is dealing with an outdated style of writing C++ (such as inclusion of <iostream.h> and the use of compilers that haven't been updated in many years.)
Last edited on
Good point. I'll work on it again later.

[edit] Done!
Last edited on
Again I'm on the fence about Kimchi's site. Not even I'm conceded enough to question the teaching style of an instructor from the University of Jerusalem. I learned functions first, then about classes then about encapsulation so there were, and possibly still are, at least a few bad habits to break. It's a useful site and there are more reasons for inclusion then against. I just thought I would mention my opinion to see if anyone else saw the same problems.

You're doing great on the updates so far, this is getting huge really fast. I for one am wondering what you'll have left for the misc. section.
Updated the http://www.cplusplus.com/faq/beginners/tutors/ FAQ to avoid specific references to any "developing" country.


Miscellaneous                                                /faq/misc/
018 - * how do I make my application use multiple languages
021 - - how do I play a sound; in the background; loop; stop it; etc.
025 - - how do I write an OS
026 - - how do I write the next big MMORPG (or any game at all)
027 - - anything about compression
036 - - how do I read a password; other stuff with passwords
040 - - how do I download files from the internet (programmatically, of course)
048 - - how do I switch on strings
053 - * troubles with verbose template error messages
065 - * how do I write encryption algorithms (everything from Caesar ciphers to the next AES) [advanced]
068 - - CLI/MFC/etc issues
084 - - how do I debug/gdb/valgrind/ACCESS_VIOLATION/etc?


Some of the beginner's section actually overlaps some of the other sections -- it might thin out or change a little before I'm done.

It is difficult to categorize some things, like "how do I convert x to a string", which fits both in "I/O" and "strings" categories, or maybe even a "conversion" category, which no one will peruse because of its name.
Last edited on
Do you plan to include chapters about data structures?

(I was thinking about binary search trees while asking this, although obviously there's much more to write about than just trees.)

Looking at the planned contents of Miscellaneous, you probably should consider a Data Structure section before it.
What about data structures?

That is, what are the frequently asked questions you see about them?
A lot of people seem to ask what constructor/destructors are and how to overload operators though these are in the tutorials I believe.
I just noticed a minor spelling error in the Compiling/Linking section:
The way C and C++ source files are organized is actually fairly primative, ...
Duoas wrote:
What about data structures?

That is, what are the frequently asked questions you see about them?

When I was learning I know one FAQ I saw and that I was asked regularly. "What are data structures?" "What are some examples of data structures?" I am amazed at how many beginners don't even know what they are and it is always the same they never realize what data structures are until someone refers to classes, structs, etc. as data structures while helping answer a question.

[EDIT] forgot a word...
Last edited on
Perhaps emphasize how the `class` and `struct` keywords are synonymous except for the default access level for members and inheritance. I notice many eginners being shocked that `struct`s can have member functions, inheritance, etc.

Also mention how unions support member functions and the other less-known features of unions. Perhaps also that you can only read from the last member to be written to in a union since type-punning is undefined behavior in C++.
Last edited on
Perhaps you could provide some links to the various (free versions) of the standards? I see you've linked to quite a few external resources. The standard itself deserves to be on that list. It took me 30 minutes of experienced googling before stumbling upon the current revision. When I get back home I can find the direct links that are legally provided from the ISO board.
Pages: 12