Portál AbcLinuxu, 12. května 2025 06:37

Dotaz: Zaciatocnik v C++

18.5.2005 17:20 depi | skóre: 10 | blog: Erik Gyepes | Nitra
Zaciatocnik v C++
Přečteno: 951×
Odpovědět | Admin
Dobry den.

Zacal som sa trosku zaujimat o C++ pod linuxom. Nasiel som si na internete nejake tutorialy a mam napriklad program Hellow World:

// ANSI C++ example

#include <cstdio> using namespace std;

int main () { printf ("Hello World!"); return 0; }

Pri jeho kompilacii to vsak hlasi nasledujuce:
pokus.c:3:18: cstdio: Adresár alebo súbor neexistuje
pokus.c:4: error: syntax error before "namespace"
pokus.c:4: warning: data definition has no type or storage class
pokus.c:10:2: warning: no newline at end of file
Co s tym? Treba mu nejako nastavit cesty k cstdio? A co ta chyba s namespace?

Mam potom aj dalsi script: / pre ANSI C++ example // also valid under ANSI C++, but deprecated

#include <stdio.h>

int main () { printf ("Hello World!"); return 0; }
tento funguje v pohode....v tom tutorialy bolo porovnavanie ANSI C++ ...co je to vlastne ANSI C++?

(mam fedora core 3)
depi.sk - IT & Life Weblog
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.5.2005 17:41 billgates | skóre: 27
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak chcete robit v C++, tak odporucam pouzivat miesto koncovky .c koncovku .cpp alebo .C a na kompilaciu potom g++ miesto gcc. Inak ten priklad je v poriadku.
Josef Kufner avatar 18.5.2005 20:26 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
nebo jeste .cc – ta je takova hezcejsi ;-)
Hello world ! Segmentation fault (core dumped)
18.5.2005 17:53 lukipuki | skóre: 4 | blog: | Štokholm
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ešte namiesto #include <cstdio> using namespace std; by som to dal do dvoch riadkov: #include <cstdio>

using namespace std;
. A return 0; v C++ nemusíš písať.
/dev/null: Permission denied
Luboš Doležel (Doli) avatar 18.5.2005 20:05 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Spíš než cstdio dát iostream a nebo tam nedávat std. Ten program je pěkný mix ;-)
elviin avatar 18.5.2005 20:38 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tusim, ze zdroj odkud cerpas patri mezi ty "ucime C/C++". Osobne doporucuju nesedet na dvouch zidlich a ucit se bud C nebo C++. Resp nektere serialy se tvari, jako ze popisuji C++, pri tom je to C.

Zdroje:

papir:
http://shop.ben.cz/detail.asp?id=112119
http://shop.ben.cz/detail.asp?id=112507
http://shop.ben.cz/detail.asp?id=111768
http://shop.ben.cz/detail.asp?id=111557 - pekna
http://shop.ben.cz/detail.asp?id=111662 - pekna

www:
http://informit.com/articles/index.asp?st=41346
http://www.research.att.com/~bs/C++.html
http://gama.fsv.cvut.cz/~pytel/vyuka/153inf2/cpp_tutorial/ - cesky tutorial g++

newsgroup:
comp.lang.c++
comp.std.c++
comp.unix.programmer
comp.lang.c++.moderated

elviin avatar 18.5.2005 20:45 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
sorry nejak mi nedoslo, zes Slovak, tak doufam, ze najdes nejaky slovensky zdroje.

btw nekdy mi pripada, ze slovenskymu textu vubec nerozumim, a nekdy jako ted, mi to prijde jako cestina.
18.5.2005 20:51 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
C se pro C++ stejně musíš naučit. Jak napíšeš FFT v C++ jinak než v C?
elviin avatar 18.5.2005 21:53 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Zaciatocnik v C++

No ja si nemyslim, ze se C clovek musi ucit pro C++. Ani se to nedoporucuje. Kazdopadne kazda vedomost je k dobru:) Proc ne, ale Cecko neni nutnou podminkou pro C++. Co se tyka FFT, tak na webu jsou implentace v C++ nebo wrappery nad C. A nejsou i v Jave, neco jsem videl? Vlastne je mi to jedno. Proste pouziju knihovnu at je v C (nevyhybam se) nebo C++.

Napriklad ja pouzivam newmat. A tady jsou pekny grafy a komentar k tomu. Myslim, ze svmtl knihovna se tvari (licence) jako v C++ ale implemetace algoritmu je v C. Matlab je v C/C++/Fortran, tak je to prast jako uhod.

18.5.2005 22:23 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
OK, takže jak implemetuješ libovolný_jiný_normální_algoritmus_na_který_zrovna_ještě_nejsou_stovky_knihoven?

Když jsem se zeptal na známý, tak na ten samozřejmě jsou knihovny. Kdybych se zeptal na nějaký, na který nejsou stovky knihoven, řekněme sekvenční Munkers-Blackman, tak bys určitě zase odpověděl, že konkrétně tento nebudeš nikdy pořebovat.

Kromě toho jsem se stejně ptal, jak bude vypadat implementace, nikoli použití. A ty implementace vypadají vesměs tak, že se zkompilují i kompilátorem C.

Nebudeš-li nikdy programovat nic, co opravdu něco dělá, a budeš jen dědit, přetěžovat operátory, deklarovat spřátelené metody, instancovat vzory a provozovat podobné hrátky, tak prosím, asi C umět nemusíš. Ale pro kód, který tam uvnitř něco dělá, stejně nakonec používáš podmnožinu C++, která se jmenuje C (+- formální změny v alokaci paměti a pod.).

Učit se C pro C++ se možná nedoporučuje -- nedoporučoval bych to především, chceš-li programátora, který sice umí C++, ale neumí nic naprogramovat ;-)
elviin avatar 18.5.2005 22:54 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Nebudeš-li nikdy programovat nic, co opravdu něco dělá, a budeš jen dědit, přetěžovat operátory, deklarovat spřátelené metody, instancovat vzory a provozovat podobné hrátky, tak prosím, asi C umět nemusíš. Ale pro kód, který tam uvnitř něco dělá, stejně nakonec používáš podmnožinu C++, která se jmenuje C (+- formální změny v alokaci paměti a pod.).
C neni subset C++. Viz vyse to vyznelo, jako ze clovek musi mit namakly Cecko a pak prejit na C++. Asi jsem se nesetkal jeste s nejakym problemem, abych trpel, ze to je implemetovany/implemtuju C nebo C++. To me asi ceka. Nevim proc by se nemel naucit v C++ psat neco jako tohle. To bych asi vzdal:/. To jo. Ale proc by se to nemohl naucit a pak treba i implementovat v C++?
18.5.2005 23:31 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
To ,tohle` vede na HTTPS server s nevalidním certifikátem (proč jen lidi dělají takové věci), takže si leda mohu tipnout podle URL, že to je odkaz na moji implementaci v python-Levenshtein.

O co jde, je, že na tom algoritmu není nic, co by dávalo smysl psát v C++ jinak než v C -- je to hromádka zamotaných for-cyklů, které se probírají nějakým polem a označují a odoznačují si přitom sloupce a řádky. Ty věci kolem mohou vypadat různě -- např. tohle se typicky používá z Pythonu... Ale ty věci uvnitř vypadají jako C. Abys v C++ něco napsal, musíš umět for-cykly, podmínky, funkce, etc. A to je všechno C.

Že C není podmnožina C++ vím docela dobře, ovšem kromě silnější typové kontroly a striktnějších pravidel pro deklarace/definice jsou to samé obskurnosti -- kdy tě naposled omezovalo, že v C++ nelze volat main() rekursivně... Tudíž pro své předchozí i další příspěvky definuji ,C, o němž mluvím` jako společnou podmnožinu C a C++ -- žádný z argumentů se tím nemění.
13.4.2008 16:31 lakatoš
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Pouzijem OOP.
12.4.2008 21:00 Libor Kubica
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Opravuji odkazy:
---
112119: Rozumíme C++
112507: Pasti a propasti jazyka C++
111768: Nauč se sám C++
111557: Myslíme v C++ - pekna
111662: Mistrovství v C++ - pekna

:-)
23.4.2008 00:26 coder
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Myslim ze Mistrovství v C++ - je majstrovske dielo, odporucam ,ale cena je adekvatna kvalite
13.4.2008 10:24 rich
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus si taky precist toto :-) http://programujte.com/index.php?akce=clanek&cl=2006030305-rozhovor-s-bjarne-stroustrupem
stativ avatar 13.4.2008 10:27 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jenom menší připomínku, tohle není C++ ale C. V C++ by to bylo třeba takhle:
#include <iostream>

int main() {
  std::cout << "Hello World!\n";
  return 0;
}
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
13.4.2008 12:19 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
No, C to rozhodně není (ani by to nešlo přeložit), ale čisté C++ taky ne.
Užívej dne – možná je tvůj poslední.
13.4.2008 12:23 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Proč?
13.4.2008 12:25 billgates | skóre: 27
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
C to nie je kvoli: #include <cstdio> using namespace std; a C++ to nie je kvoli: printf ("Hello World!");

Osobne ale som proti takejto prisnej segregacii. Podla mna sa oplati vybrat to najlepsie z oboch jazykov a pouzivat to vo vzajomnej harmonii :)
13.4.2008 12:42 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
a C++ to nie je kvoli: printf ("Hello World!");

V příspěvku, o kterém je řeč, ale žádné printf() nevidím…

13.4.2008 13:03 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
Je řeč o kusu kódu v dotazu a tam je printf hned jako první ve funkci main.
13.4.2008 13:45 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
V tom případě je trochu divné, proč je to jako odpověď na příspěvek od 6xx z 10:27…
Luboš Doležel (Doli) avatar 13.4.2008 13:02 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Zaciatocnik v C++
C++ to nie je kvoli: printf ("Hello World!");
Používat jen čistý(TM) C++ kód není povinnost.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.