• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 02:16
CEST 08:16
KST 15:16
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 2 (2026): RO4 and Finals Preview6TL.net Map Contest #22 - Voting & Ladder Map Selection5Code S Season 2 (2026) - RO8 Preview5[ASL21] Finals Preview: Two Legacies21Code S Season 2 (2026) - RO12 Preview2
Community News
[BSL22] Non-Korean Championship from 13 to 28 June0Weekly Cups (May 25-31): Clem doubles, 2v2 circuit heads toward finale0StarCraft II 5.0.16 PTR Patch Notes may 26th151Weekly Cups (May 18-24): MaxPax wins doubles0Crank Gathers Season 4: BW vs SC2 Team League6
StarCraft 2
General
Code S Season 2 (2026): RO4 and Finals Preview What kind of tool would you be interested in? TL Poll: How do you feel about the 5.0.16 PTR balance changes? Oliveira Would Have Returned If EWC Continued TL.net Map Contest #22 - Voting & Ladder Map Selection
Tourneys
GSL Code S Season 2 (2026) Maestros of The Game 2 announcement and schedule ! Crank Gathers Season 4: BW vs SC2 Team League Sparkling Tuna Cup - Weekly Open Tournament RSL Revival: Season 5 - Qualifiers and Main Event
Strategy
[G] Having the right mentality to improve
Custom Maps
[D]RTS in all its shapes and glory <3
External Content
Mutation # 529 Opportunities Unleashed The PondCast: SC2 News & Results Mutation # 528 Infection Detected Welcome to the External Content forum
Brood War
General
FlaSh's ASL S21 Finals Review BW animated web series: seeking contributors 25 Years Since Brood War Patch 1.08 FlaShFTW vs A.Alm Grudge Match Event The Korean Terminology Thread
Tourneys
[BSL22] Grand Finals - Sunday 21:00 CEST [ASL21] Grand Finals [Megathread] Daily Proleagues Escore Tournament StarCraft Season 2
Strategy
Any training maps people recommend? Why doesn't anyone use restoration? Muta micro map competition [G] Hydra ZvZ: An Introduction
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Path of Exile Warcraft III: The Frozen Throne ZeroSpace Megathread
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread Trading/Investing Thread Dating: How's your luck? Russo-Ukrainian War Thread How cold is too cold to be outdoors?
Fan Clubs
The herO Fan Club!
Media & Entertainment
Movie Discussion! [Manga] One Piece
Sports
Formula 1 Discussion 2024 - 2026 Football Thread McBoner: A hockey love story TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Esportsmanship: How to NOT B…
TrAiDoS
Why RTS gamers make better f…
gosubay
ASL S21 English Commentary…
namkraft
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6861 users

C++ for dummies question

Blogs > {CC}StealthBlue
Post a Reply
{CC}StealthBlue
Profile Blog Joined January 2003
United States41117 Posts
May 31 2009 18:20 GMT
#1
So I downloaded Dev-C++ from the net but is an further updated version in the book and the new project is different that the one being shown in the book, at the start.
http://search.barnesandnoble.com/C-All-in-One-Desk-Reference-for-Dummies/Jeff-Cogswell/e/9780764517952/?itm=2


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
system("PAUSE");
return EXIT_SUCCESS;
}


^Is showing when I create a new project but in the book the figure is showing this:

#include <iostream>
#include <stdlib.h>

int main(int argc, char *argv[])
{
system("PAUSE");
return 0;
}


Is this going to cause trouble or even affect the step by step tutorials in the book?

*****
"Smokey, this is not 'Nam, this is bowling. There are rules."
VIB
Profile Blog Joined November 2007
Brazil3567 Posts
May 31 2009 18:29 GMT
#2
It could be since you'd call the std library differently. So it would depend on what the book does. But it could eventually become a problem. I would just comment out the namespace line to be safe and go by the book.

But are you aware that devcpp is an abandoned project that isn't updated since 2005? So if your book has an even older version, it must be really really old :p
Great people talk about ideas. Average people talk about things. Small people talk about other people.
Cambium
Profile Blog Joined June 2004
United States16368 Posts
May 31 2009 18:32 GMT
#3
It's been about five years since I did C++, but they look the same to me.

iirc, stdlib.h and cstdlib refer to the same thing, and I think the namespace is declared within the header file.

Also, EXIT_SUCCESS is just a global variable that's defined in cstdlib.

Your book should probably explain these things.
When you want something, all the universe conspires in helping you to achieve it.
Grobyc
Profile Blog Joined June 2008
Canada18410 Posts
Last Edited: 2009-05-31 18:48:23
May 31 2009 18:39 GMT
#4
It doesn't look like you need the line
#include <iostream>

Because you aren't inputting or outputting anything.

As for the
return 0;

That ends the program, yes.

EDIT: Oh if you are actually putting more stuff in the program you will need the
#include <iostream>

still.

You should probably still include
using namespace std;

Because that's what I use in programming and the version I have uses
return 0;

There's no harm anyway.
If you watch Godzilla backwards it's about a benevolent lizard who helps rebuild a city and then moonwalks into the ocean.
Random()
Profile Blog Joined August 2004
Kyrgyz Republic1462 Posts
May 31 2009 18:42 GMT
#5
"using namespace" literally means that you are, well, going to use that name space.

The point is that you may have several classes or functions that have same names, but reside in
different namespaces which allows to differentiate between them.

e.g.

namespace A {
class X;
}

namespace B {
class X;
}

Then, when you want to refer to a particular class X from one of the namespaces, you use A::X or B::X. This functionality is mostly used by libraries to avoid name clashes with other libraries while still allowing to have good class names, for example "Vector" instead of "libXYZ_Vector".

However, if you are using only one library and don't expect any clashes, you state "using namespace X", and when resolving symbols (class/function names) the compiler would check not only the default namespace, but also namespace X. This allows not to write A::X each time that you want to use class X, but just X.

To answer your question directly, it will not make any difference unless you define a class or function with the exact same name as one of the classes/functions from the std library, which is unlikely.
Grobyc
Profile Blog Joined June 2008
Canada18410 Posts
Last Edited: 2009-05-31 18:53:11
May 31 2009 18:52 GMT
#6
There's no harm in including unused declarations anyway. What I would just put to be safe is
#include <cstdlib>
#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char *argv[])
{
system("PAUSE");
return 0;
}
If you watch Godzilla backwards it's about a benevolent lizard who helps rebuild a city and then moonwalks into the ocean.
cgrinker
Profile Blog Joined December 2007
United States3824 Posts
May 31 2009 19:00 GMT
#7
EXIT_Success is going to be 0, the idea being that there were no errors in exiting.
vAltyR
Profile Blog Joined July 2008
United States581 Posts
May 31 2009 19:01 GMT
#8
cstdlib and stdlib.h are the same thing. I've used them interchangably in my C++ class last semester.
내 호버크라프트는 장어로 가득 차 있어요
Osmoses
Profile Blog Joined October 2008
Sweden5302 Posts
May 31 2009 19:10 GMT
#9
The exit success thing is just a global variable. I'm more curious about why there are arguments in the main function. I've never had any, though admittedly it's been like...6-7 years since I did C++.
Excuse me hun, but what is your name? Vivian? I woke up next to you naked and, uh, did we, um?
b3h47pte
Profile Blog Joined May 2007
United States1317 Posts
May 31 2009 19:20 GMT
#10
you don't really need them there as far as i'm concerned but the IDE's like to put them there for some reason. maybe someone with more knowledge of the subject can expalin more?
araav
Profile Blog Joined September 2004
Armenia1590 Posts
May 31 2009 19:21 GMT
#11
ok, here is the thing (it's a little bit too technical, sorry, but if you want to know what's the deal, here is it).
C++ is based on C and it keeps backward compatibility with C as much as it is possible. C has these fancy libraries exposed through stdio.h, stdlib.h, stdarg.h, etc.

C++ (BS indeed) decided to make these include things to be abstracted from filesystems, etc, so the ".h" psotfix would not make sense right? that's why they changed all those NAMEs to cNAME, like cstdio, cstdarg, etc. now these files expose the old interfaces through the namespace std.

so
#include <stdio.h>

is completely equivalent to
#include <cstdio>
using namespace std;

The latter one is preferable, because it's C++, not C, and it's going to be always supported (though unlikely that the former one will ever be dropped). The C++ thing is preferable also because it does not pollute the global namespace with old C things. So the better way is to do

#include <cstdio>

and use
std::printf("%s", "I'm a good C++ fellow");


lol who asked me to jump in and write all this? :S

oh yeah, btw, cxxx files are mostly implemented like this:
// file cxxx
namespace std {
#include <xxx.h>
}; //namespace std

The flower that blooms in adversity is the most rare and beautiful of all.
jonnyp
Profile Blog Joined May 2009
United States415 Posts
Last Edited: 2009-05-31 19:26:56
May 31 2009 19:24 GMT
#12
yeah that is weird 0.o

as far as the cstdlib and stdlib.h, if i remember correctly in C you use the library stdlib.h but when you use C++ all the old c libraries were renamed as clibraryname. so stdlib.h became cstdlib, math.h became cmath etc. but i havent c++ed in a while so i might be off

edit: you beat me to it
The number of years it takes for the Internet to move past anything is way, way over 9000.
{CC}StealthBlue
Profile Blog Joined January 2003
United States41117 Posts
May 31 2009 19:36 GMT
#13
holy fuck error(s) when I changed it the way the book was =/

0 errors on this, maybe =/

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
cout << "Hello, I am your computer talking." << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
"Smokey, this is not 'Nam, this is bowling. There are rules."
R3condite
Profile Joined August 2008
Korea (South)1541 Posts
Last Edited: 2009-06-01 00:25:13
June 01 2009 00:24 GMT
#14
iono wat
using namespace std;
is but EXIT_SUCCESS is the same thing as returning 0 if i remember correctly... also all it does is turn on some flag saying that the method exited successfully which will keep a handler from catching some kind of error and throwing u an exception
ggyo...
{CC}StealthBlue
Profile Blog Joined January 2003
United States41117 Posts
June 01 2009 01:13 GMT
#15
Chapter 1 finished. 772 pages left to go.
"Smokey, this is not 'Nam, this is bowling. There are rules."
{CC}StealthBlue
Profile Blog Joined January 2003
United States41117 Posts
Last Edited: 2009-06-03 07:18:04
June 03 2009 07:17 GMT
#16
So there is no difference between, they are both the same thing correct?

system("PAUSE");
return 0;
}


and

system("PAUSE");
return EXIT_SUCCESS;
}


???
"Smokey, this is not 'Nam, this is bowling. There are rules."
EsX_Raptor
Profile Blog Joined February 2008
United States2802 Posts
June 03 2009 07:25 GMT
#17
On June 03 2009 16:17 {CC}StealthBlue wrote:
So there is no difference between, they are both the same thing correct?

Show nested quote +
system("PAUSE");
return 0;
}


and

Show nested quote +
system("PAUSE");
return EXIT_SUCCESS;
}


???

Do you understand what a function is right? main is a function with return value of type int. Whatever this value is, it won't change anything. It can be 0, 1, 2, ... it doesn't matter, however, using 0 is just a convention so as to say "The function returned successfully."

In the above example, EXIT_SUCCESS must be a global variable of type int whose value could be any number (most likely 0), so in the end, it's just the same thing.

I hope this helped.
araav
Profile Blog Joined September 2004
Armenia1590 Posts
June 03 2009 07:50 GMT
#18
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1

don't use those definitions, don't depend on stdlib.h. do return 0; instead
The flower that blooms in adversity is the most rare and beautiful of all.
DeathSpank
Profile Blog Joined February 2009
United States1029 Posts
June 03 2009 08:00 GMT
#19
On June 01 2009 03:20 {CC}StealthBlue wrote:
So I downloaded Dev-C++ from the net but is an further updated version in the book and the new project is different that the one being shown in the book, at the start.
http://search.barnesandnoble.com/C-All-in-One-Desk-Reference-for-Dummies/Jeff-Cogswell/e/9780764517952/?itm=2


Show nested quote +
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
system("PAUSE");
return EXIT_SUCCESS;
}


^Is showing when I create a new project but in the book the figure is showing this:

Show nested quote +
#include <iostream>
#include <stdlib.h>

int main(int argc, char *argv[])
{
system("PAUSE");
return 0;
}


Is this going to cause trouble or even affect the step by step tutorials in the book?

no. you'll learn letter about macros and const variables. EXIT_SUCCESS actually = 0
for learning purposes though go with return 0 unless you have other reasons not to.
yes.
Please log in or register to reply.
Live Events Refresh
OSC
00:00
Mid Season Playoffs
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ProTech78
StarCraft: Brood War
Sea 7643
Rain 4190
GuemChi 3908
Leta 112
Noble 31
Icarus 8
Britney 0
League of Legends
JimRising 896
Counter-Strike
Stewie2K1114
Coldzera 1035
Super Smash Bros
Mew2King121
Other Games
summit1g11737
PiGStarcraft639
WinterStarcraft571
Happy207
RuFF_SC241
Organizations
Other Games
gamesdonequick874
BasetradeTV192
StarCraft: Brood War
UltimateBattle 24
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 12 non-featured ]
StarCraft 2
• Berry_CruncH273
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1434
Upcoming Events
Wardi Open
4h 44m
Monday Night Weeklies
9h 44m
Replay Cast
17h 44m
Sparkling Tuna Cup
1d 3h
Replay Cast
2 days
Kung Fu Cup
2 days
Maestros of the Game
2 days
Classic vs Lambo
Clem vs Maru
Replay Cast
2 days
The PondCast
3 days
Maestros of the Game
3 days
Serral vs Rogue
herO vs SHIN
[ Show More ]
Replay Cast
3 days
Maestros of the Game
4 days
Replay Cast
4 days
CranKy Ducklings
5 days
uThermal 2v2 Circuit
5 days
Sparkling Tuna Cup
6 days
uThermal 2v2 Circuit
6 days
Liquipedia Results

Completed

BSL Season 22
2026 GSL S2
Heroes Pulsing #1

Ongoing

IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
CSCL: Masked Kings S4
YSL S3
SCTL 2026 Spring
WardiTV Spring 2026
Maestros of the Game 2
uThermal 2v2 2026 Main Event
Murky Cup 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026

Upcoming

BSL 22 Non-Korean Championship
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
Heroes Pulsing #3
Heroes Pulsing #2
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.