• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 23:53
CET 04:53
KST 12:53
  • 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
Team Liquid Map Contest #22 - Presented by Monster Energy5ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book19Clem wins HomeStory Cup 289HomeStory Cup 28 - Info & Preview13
Community News
Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool26Weekly Cups (March 9-15): herO, Clem, ByuN win32026 KungFu Cup Announcement6BGE Stara Zagora 2026 cancelled12Blizzard Classic Cup - Tastosis announced as captains18
StarCraft 2
General
Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Team Liquid Map Contest #22 - Presented by Monster Energy Serral: 24’ EWC form was hurt by military service Weekly Cups (March 9-15): herO, Clem, ByuN win Weekly Cups (August 25-31): Clem's Last Straw?
Tourneys
RSL Season 4 announced for March-April Sparkling Tuna Cup - Weekly Open Tournament WardiTV Team League Season 10 KSL Week 87 [GSL CK] #2: Team Classic vs. Team Solar
Strategy
Custom Maps
Publishing has been re-enabled! [Feb 24th 2026] Map Editor closed ?
External Content
The PondCast: SC2 News & Results Mutation # 517 Distant Threat Mutation # 516 Specter of Death Mutation # 515 Together Forever
Brood War
General
JaeDong's form before ASL ASL21 General Discussion BGH Auto Balance -> http://bghmmr.eu/ Gypsy to Korea BSL Season 22
Tourneys
[Megathread] Daily Proleagues Small VOD Thread 2.0 [BSL22] Open Qualifiers & Ladder Tours IPSL Spring 2026 is here!
Strategy
Simple Questions, Simple Answers Soma's 9 hatch build from ASL Game 2 Fighting Spirit mining rates
Other Games
General Games
Nintendo Switch Thread Path of Exile General RTS Discussion Thread Stormgate/Frost Giant Megathread Dawn of War IV
Dota 2
Official 'what is Dota anymore' discussion The Story of Wings Gaming
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
Five o'clock TL Mafia Mafia Game Mode Feedback/Ideas Vanilla Mini Mafia TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread Russo-Ukrainian War Thread Mexico's Drug War
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books [Manga] One Piece Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion Tokyo Olympics 2021 Thread General nutrition recommendations Cricket [SPORT]
World Cup 2022
Tech Support
Laptop capable of using Photoshop Lightroom?
TL Community
The Automated Ban List
Blogs
Funny Nicknames
LUCKY_NOOB
Money Laundering In Video Ga…
TrAiDoS
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
Unintentional protectionism…
Uldridge
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 3280 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
Korean StarCraft League
03:00
Week 87
davetesta61
HKG_Chickenman37
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 239
NeuroSwarm 175
PiLiPiLi 17
ProTech11
StarCraft: Brood War
sSak 112
ggaemo 87
NotJumperer 4
Icarus 4
Dota 2
LuMiX1
League of Legends
JimRising 755
Counter-Strike
taco 547
Super Smash Bros
amsayoshi56
Other Games
WinterStarcraft260
C9.Mang0180
ViBE152
Livibee105
Trikslyr62
Organizations
Other Games
gamesdonequick894
Dota 2
PGL Dota 2 - Main Stream124
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 14 non-featured ]
StarCraft 2
• EnkiAlexander 32
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• RayReign 31
• Azhi_Dahaki14
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Other Games
• Scarra1226
Upcoming Events
RSL Revival
6h 7m
Maru vs Zoun
Cure vs ByuN
uThermal 2v2 Circuit
11h 7m
BSL
16h 7m
RSL Revival
1d 6h
herO vs MaxPax
Rogue vs TriGGeR
BSL
1d 16h
Replay Cast
1d 20h
Replay Cast
2 days
Afreeca Starleague
2 days
Sharp vs Scan
Rain vs Mong
Wardi Open
2 days
Monday Night Weeklies
2 days
[ Show More ]
Sparkling Tuna Cup
3 days
Afreeca Starleague
3 days
Soulkey vs Ample
JyJ vs sSak
Replay Cast
4 days
Afreeca Starleague
4 days
hero vs YSC
Larva vs Shine
Kung Fu Cup
4 days
Replay Cast
4 days
The PondCast
5 days
WardiTV Team League
5 days
Replay Cast
5 days
WardiTV Team League
6 days
Liquipedia Results

Completed

Proleague 2026-03-20
WardiTV Winter 2026
Underdog Cup #3

Ongoing

KCM Race Survival 2026 Season 1
Jeongseon Sooper Cup
BSL Season 22
CSL Elite League 2026
RSL Revival: Season 4
Nations Cup 2026
NationLESS Cup
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual

Upcoming

ASL Season 21
Acropolis #4 - TS6
2026 Changsha Offline CUP
CSL 2026 SPRING (S20)
CSL Season 20: Qualifier 1
Acropolis #4
IPSL Spring 2026
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
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
CCT Season 3 Global Finals
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
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.