• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
RaoulJWZ

c++ basics

15 posts in this topic

Hey there everyone,

 

I'm into programming now for just a few weeks.

I started with Python and learnt some basic stuff, not very much, but some.

Now a friend of my asked if i wanted to do c++ with him and some other guys, and i know it is a hard language,

but i asked some around and almost everyone told me to do it, because learning in a group is way better then learning alone.

Tomorrow is our first meeting and today i wanted to know how much from what i've learned in python i could use in c++.

Those things are: input/output, if statement, else if statement, while and while statement.

I know it isn't very much but i want to know how much of the basics of c++ i've learned till now.

I understand that you could discuss about what the basics are exactly, so it don't has to be exact.

If it is possible i want to know to what i have to learn till i know those basics.

Thanks. Raoul 

1

Share this post


Link to post
Share on other sites

Many of the concepts you've learned will carry over. Though, you'll still need to learn syntax and the little idiosyncrasies between the languages. If/else, while loops, input/output etc are common to many (if not most/all, I'm only familiar with a few so can't say for sure:P) languages, though  there are certainly some differences in the specifics of how they work. It will be things such as pointers and references, polymorphism, garbage collection, and such that sound like they'll be new concepts to you. They're "basics" of C++ but you'll still likely be learning things like loops and in/out for some time before getting into them. Maybe take a look at what the concepts are for pointers and references, but I wouldn't recommend trying to jump ahead without learning the "basics-basics". But, everything you've learned will certainly be helpful in picking up a new language.

 

The basics of C++ are similar to Python, and again, I don't think you'll hit any entirely new concepts until pointers and references, though perhaps I'm overlooking something. There will be little specifics that are new, such as in C++ variables not being in scope outside of a loop they're created in or the way functions handle arguments, but I don't imagine it will be anything you can't wrap your head around. Going from a high language like Python to C++ will take a little getting used to but should be manageable.

 

My Python is super rusty and I haven't practiced with it as much as I ought to lately though, so perhaps someone else will have different or better advice though :)

Good luck! smile.png

Edited by Misantes
0

Share this post


Link to post
Share on other sites

If you are going to start C++ this is a great sourced http://www.cplusplus.com/ .  I personally am a mathematician, and I got majority of my heavy programming from this source.  Do not be discouraged by the language.  It is very powerful and is great for object oriented programming which is a very big thing now a days.

 

http://www.cplusplus.com/

 

The above link has great tutorials and also reference guides.  This will not only allow you to know how to use the coding syntax, but understanding what is going on behind some of the functions or code within the library.  It will be a big help when you start to manipulate data more.

Edited by xXDreamXx
0

Share this post


Link to post
Share on other sites

All of the stuff you said you have done in Python will be similar in c++, however, you will need to get familiar with the syntax. As well as this check out the websites and videos the other guys told you to check out.

 

Have a good time learning! Hope it isn't too difficult. :-)

Edited by Alex G
0

Share this post


Link to post
Share on other sites
This actually depends on you.

E.g. I used to be starting to learn Java via books, but found it quite hard. Thus C++ actually seems easy to me. (It does.)

I decided to relearn C++ online (no, I only learnt like 2/3 from the book, especially the for loop kept confused me :/) so I introduce you learncpp.com. (I know, didn't updated for yeaes, but at least most of them are useful)
0

Share this post


Link to post
Share on other sites

A few things that will pop up when jumping into C++ from a scripting language...

1: If you want to use strings ( or don't want to write overly complex code to handle strings ) , better memorize this line of code
 


using namespace std; // some folks don't like using it due to "conflicts"

2: "<<" = output ... ">>" = input

// << is also the equivalent of + 
cout << "Hello World !" << endl;
// or
cout << "Hello " << "World !" << endl;

3: Variable types have to be declared !

4: Don't attempt pointers until you understand memory management "do s" and "don't s"

5: Learn how to write header files correctly

6: C++ classes do not quite work the same as Python's classes . C++ classes can be dangerous to new comers due to manual memory management requirements.

Edited by Shippou
-1

Share this post


Link to post
Share on other sites
Just out of curiosity. What do you C++ users think of this (using declaration vs. using directive). Is it still bad practice ?
 
#include <iostream>
#include <string>

using std::cout;
using std::endl;
using std::string;
// etc.
Edit: Meh, it's discussed in that SO thread too. Should have read first. I apologize. Edited by unbird
0

Share this post


Link to post
Share on other sites

1: If you want to use strings ( or don't want to write overly complex code to handle strings ) , better memorize these 2 lines of code


It's not really a good idea to tell a beginner to use a line of code that it's generally considered bad practice to use.
I think I'll thank to my first C++ book (from Sams, I later found out their books are considered bad) for not telling me to add that statement.
0

Share this post


Link to post
Share on other sites

using namespace std; // some folks don't like using it due to "conflicts"

It is definitely not about liking or not, I have already seen 4 threads of people asking for help fixing bugs caused by this. One had a variable called max inside a class but, since they had this line in their code, were actually referring to std::max. Also seen this happen with one that had a type called map to store the game map.
 
Even though we are lucky and the std namespace doesn't have that many typenames that we can conflict with (who'd create a type called basic_string?), this also applies to libraries that have their own namespace. Libraries with a lot of legacy code, or sometimes to comply with ANSI C, doesn't have namespaces; but it is getting more and more common to see libraries that do have.
 
When you make use of this using statement to bring the entire namespace into the global scope you kill the very reason they added it in the first place...

Just out of curiosity. What do you C++ users think of this (using declaration vs. using directive). Is it still bad practice ?

It is surely better, but even in this case one should never add this in a header file. Edited by dejaime
2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0