• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 07:52
CET 13:52
KST 21: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
Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10[ASL20] Finals Preview: Arrival13TL.net Map Contest #21: Voting12[ASL20] Ro4 Preview: Descent11Team TLMC #5: Winners Announced!3
Community News
Starcraft, SC2, HoTS, WC3, returning to Blizzcon!12$5,000+ WardiTV 2025 Championship4[BSL21] RO32 Group Stage3Weekly Cups (Oct 26-Nov 2): Liquid, Clem, Solar win; LAN in Philly2Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win9
StarCraft 2
General
Starcraft, SC2, HoTS, WC3, returning to Blizzcon! RotterdaM "Serral is the GOAT, and it's not close" Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win 5.0.15 Patch Balance Hotfix (2025-10-8) TL.net Map Contest #21: Voting
Tourneys
Constellation Cup - Main Event - Stellar Fest Merivale 8 Open - LAN - Stellar Fest $5,000+ WardiTV 2025 Championship Sea Duckling Open (Global, Bronze-Diamond) $3,500 WardiTV Korean Royale S4
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 498 Wheel of Misfortune|Cradle of Death Mutation # 497 Battle Haredened Mutation # 496 Endless Infection Mutation # 495 Rest In Peace
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ SnOw's ASL S20 Finals Review [BSL21] RO32 Group Stage Practice Partners (Official) [ASL20] Ask the mapmakers — Drop your questions
Tourneys
BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION [ASL20] Grand Finals Small VOD Thread 2.0 The Casual Games of the Week Thread
Strategy
Current Meta How to stay on top of macro? PvZ map balance Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Stormgate/Frost Giant Megathread Dawn of War IV Nintendo Switch Thread ZeroSpace Megathread General RTS Discussion Thread
Dota 2
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
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread YouTube Thread Things Aren’t Peaceful in Palestine Dating: How's your luck?
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
[Manga] One Piece Movie Discussion! Anime Discussion Thread Korean Music Discussion Series you have seen recently...
Sports
2024 - 2026 Football Thread NBA General Discussion MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
Why we need SC3
Hildegard
Career Paths and Skills for …
TrAiDoS
Reality "theory" prov…
perfectspheres
Our Last Hope in th…
KrillinFromwales
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1508 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 2h 8m
[ Submit Event ]
Live Streams
Refresh
StarCraft: Brood War
Jaedong 2290
GuemChi 2075
Sea 1636
firebathero 607
Pusan 420
Stork 358
Soma 303
Leta 244
Last 235
Hyun 170
[ Show more ]
Light 153
Rush 134
Snow 95
sSak 85
Killer 85
hero 79
Barracks 72
ToSsGirL 71
Backho 65
ZerO 60
Mong 55
Shine 44
JulyZerg 38
Sharp 37
Movie 22
zelot 20
Terrorterran 16
Noble 13
scan(afreeca) 11
Icarus 9
IntoTheRainbow 8
Dota 2
BananaSlamJamma269
XcaliburYe165
Counter-Strike
x6flipin621
zeus500
oskar119
edward65
Other Games
singsing2003
B2W.Neo573
crisheroes295
DeMusliM248
Happy193
Fuzer 156
XaKoH 141
Liquid`LucifroN104
Mew2King71
ZerO(Twitch)3
Organizations
Counter-Strike
PGL295
StarCraft: Brood War
lovetv 8
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• StrangeGG 75
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 8
• HerbMon 1
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV323
League of Legends
• Jankos2359
Upcoming Events
LAN Event
2h 8m
OSC
9h 8m
Replay Cast
10h 8m
OSC
23h 8m
LAN Event
1d 2h
Korean StarCraft League
1d 14h
CranKy Ducklings
1d 21h
WardiTV Korean Royale
1d 23h
LAN Event
2 days
IPSL
2 days
dxtr13 vs OldBoy
Napoleon vs Doodle
[ Show More ]
BSL 21
2 days
Gosudark vs Kyrie
Gypsy vs Sterling
UltrA vs Radley
Dandy vs Ptak
Replay Cast
2 days
Sparkling Tuna Cup
2 days
WardiTV Korean Royale
2 days
LAN Event
3 days
IPSL
3 days
JDConan vs WIZARD
WolFix vs Cross
BSL 21
3 days
spx vs rasowy
HBO vs KameZerg
Cross vs Razz
dxtr13 vs ZZZero
Replay Cast
3 days
Wardi Open
3 days
WardiTV Korean Royale
4 days
Replay Cast
5 days
Kung Fu Cup
5 days
Classic vs Solar
herO vs Cure
Reynor vs GuMiho
ByuN vs ShoWTimE
Tenacious Turtle Tussle
6 days
The PondCast
6 days
RSL Revival
6 days
Solar vs Zoun
MaxPax vs Bunny
Kung Fu Cup
6 days
WardiTV Korean Royale
6 days
Liquipedia Results

Completed

BSL 21 Points
SC4ALL: StarCraft II
Eternal Conflict S1

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
YSL S2
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025

Upcoming

BSL Season 21
SLON Tour Season 2
BSL 21 Non-Korean Championship
Acropolis #4
HSC XXVIII
RSL Offline Finals
WardiTV 2025
RSL Revival: Season 3
Stellar Fest
META Madness #9
BLAST Bounty Winter 2026: Closed Qualifier
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
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 © 2025 TLnet. All Rights Reserved.