What could you make with C++

I mean just with standard C++. No pre-made libraries or anything like that. Just standard C++ with the console. What could you actually make that's useful?
A compiler. It'd be a long and involved project, but it's certainly possible. Why do you ask?

-Albatross
Just so I know I'm not wasting my time with just the console.
You might be. What kind of programs are you interested in making?
Games mostly.
closed account (DEyAqMoL)
Good old text-based RPG goodness is what you'll be limited to, if you only want to use standard libraries, of you want to make games. Why would you WANT to limit yourself to standard libraries, especially with game development?
Cause I wanna make my own things.
You can always start without libraries. And then when you know the language good enough you can start using a library.
But how can I actually make the library or engine? How do the people that make those libraries make them? Using standard C++ or other languages?
I'd just like to say something that I think is rather important in this thread, albeit on a slight tangent.

It's very difficult to reverse engineer an existing "fundamental" library in standard C++ (or any other mid-level language). Sure, you can do it, but you'd have to know a *lot* about the system you're writing it for and about the concepts involved.

My suggestion? Don't worry about using libraries for things you can't program yourself. The standard C++ library was not meant to cover every possible use case. If you want to get into making games, then you're almost forced to use an outside library, be it DirectX, someone's implementation of OpenGL, or something else. :)

Those are my 2ยข.

-Albatross
Last edited on
So I guess I'm gonna need to use Opengl or something like that. Well if im gonna use that then can anyone point me to some good tutorials for it?
Another one of these?

But how can I actually make the library or engine? How do the people that make those libraries make them?


The line has to be drawn somewhere.

The basic hierarchy is like this:

Highest level
- Graphic lib wrapper (like SFML)
- Graphic lib (like OpenGL)
- Video drivers
- Direct Hardware I/O
Lowest level


If you really want to do everything "yourself", then you'd want to communicate directly with hardware i/o registers. But good luck with that, as all hardware is different and something running on your machine won't work on someone else's. Plus doing even the most basic of tasks is a lengthy process.

A more typical approach is to use a graphic lib like OpenGL or DirectX which already has a support base to work with all sorts of different types of hardware. It provides a common interface for your program, and then translates what you do into something the hardware will understand (depending on which hardware is in use).

Another approach is to use a wrapper around OpenGL like SFML. It still lets you use OpenGL directly, but simplifies common tasks in a crossplatform way... like loading images from files, creating and managing a window, communication to/from the OS, etc.


I can understand wanting to write you own lib, but you should use one first. If you use one and aren't satisfied with it, then you can look at its source and see what it does and make your own using info you get from it. But trying to reinvent the wheel right out of the gate isn't really a good idea. Your game will take longer to write, will be more buggy, and won't work on nearly as many computers as it would if you just use an established lib.


There's nothing wrong with using existing libs. You're even already doing it (<iostream>, etc in C++ is all a lib. The only thing that makes it different from something like SFML is that it comes bundled with the compiler)
Ok so can anyone point me to any recent opengl tutorials?
Topic archived. No new replies allowed.