• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 11:52
CEST 17:52
KST 00:52
  • 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
[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5[ASL22] Ro16 Preview: Rough Waters10
Community News
Rollback Netcode in Brood War825.0.17 Patch Notes - October 7, 202621Weekly Cups Results (Sep 28-Oct 4)0SC4ALL: II SC2 Complete Invited Player Lineup10StarCraft II 5.0.17 PTR Patch Notes (Sept 30, 2026)78
StarCraft 2
General
ESL Pro Tour for SC2 discontinued [Old] StarCraft 3 Reportedly in Development 5.0.17 Patch Notes - October 7, 2026 StarCraft II 5.0.17 PTR Patch Notes (Sept 30, 2026) How do you feel about the mass reverts in the 5.0.17 PTR?
Tourneys
ISSL (IntoTheTV x SOOP SC2 League): Premier RSL 2026 Offline Finals LCQ Sign-Ups $3,500 WardiTV Not-Summer Championship ScienceCraft (October 24-25) - Live Event Stellar Fest TWO the Moon (Dec 16-20)
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[M] (2) Sweltering Sands [M] (2) Frigid Storage
External Content
Mutation # 547 Temple Of Terror Mutation # 546 Catch the Train The PondCast: SC2 News & Results Mutation # 545 And Drops and Rifts
Brood War
General
ASL FINALS HYPE VIDEO 2X Visiting korea this week Sagi.gg Launcher Released Repalyzer - replay analysis app for StarCraft: Rem BW General Discussion
Tourneys
[Megathread] Daily Proleagues [ASL22] Semifinal A [ASL22] Semifinal B [ASL22] Ro8 Day 4
Strategy
Simple Questions, Simple Answers Cliff Jump Revisited (1 in a 1000 strategy) Replay Review Process - What do you do?
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread General RTS Discussion Thread Warcraft III: The Frozen Throne Total Annihilation Zero
Dota 2
Dota 2 Champions League Season 3 Begins April 25!
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread Artificial Intelligence Thread
Fan Clubs
Serral Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! Diablo Animated Series on Netflix
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
The Link Between Gaming and …
TrAiDoS
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
38 yo Retired SWE loo…
PurE)Rabbit-SF
Can Bots Beat Pros?? Starcr…
namkraft
[meme] I finally understa…
LUCKY_NOOB
Customize Sidebar...

Website Feedback

Closed Threads



Active: 15122 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
Next event in 19h 8m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 859
Liquid`TLO 352
LamboSC2 172
ProTech127
IndyStarCraft 102
Codebar 26
mouzStarbuck 0
StarCraft: Brood War
Calm 3889
Bisu 2301
Yoon 1914
Jaedong 1215
EffOrt 881
actioN 377
Mini 368
Larva 334
Rush 283
Light 273
[ Show more ]
Snow 220
firebathero 211
ZerO 185
Sea.KH 58
Pusan 50
Sharp 50
Mong 49
Terrorterran 43
Shinee 39
ToSsGirL 30
Aegong 19
Sexy 15
Noble 11
scan(afreeca) 9
Dota 2
Gorgc8718
qojqva2271
Dendi1413
XaKoH 638
Super Smash Bros
Mew2King88
ChuDatz41
Other Games
singsing2842
hiko1208
B2W.Neo815
dupreeh606
ceh9396
byalli325
Liquid`VortiX293
KnowMe218
Hui .185
QueenE82
Trikslyr81
Chillindude21
ZerO(Twitch)17
[ Show 15 non-featured ]
StarCraft 2
• Hinosc 9
• LUISG 6
• Reevou 6
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• FirePhoenix14
• ChaeLyn 5
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis3819
Other Games
• Shiphtur1099
Upcoming Events
WardiTV Weekly
19h 8m
PiGosaur Cup
1d 8h
Kung Fu Cup
1d 19h
The PondCast
2 days
Online Event
3 days
Korean StarCraft League
4 days
Afreeca Starleague
4 days
Rush vs Soulkey
CranKy Ducklings
4 days
BSL Open Qualifier
5 days
Sparkling Tuna Cup
5 days
[ Show More ]
BSL Open Qualifier
6 days
WardiTV Weekly
6 days
Liquipedia Results

Completed

Acropolis #5 - GSB
Blizzard Classic Cup 2026
Copium Cup

Ongoing

ASL Season 22
Super Anchor Qualifying S3
Acropolis #5
HCC Season 3
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026

Upcoming

Acropolis #5 - GSC
BSL Season 23
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
1win Private Club #2
Thunderpick World Champ. '26
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.