PDA

Tam Sürümünü Görmek İçin : C'deki temel operatörlerin C++ karşılığı


choldax
21/03/2008, 19:15
Merhaba arkadaşlar;

C'de kullandığımız operatörlerin C++ karşılıklarını bulmakta güçleniyorum. Yardımcı olursanız sevinirim.

mesela;

"\n" -> endl
"%3d" -> setw(3)

...


acehreli
21/03/2008, 20:27
Oncelikle, printf ailesi de C++'a dahil oldugu icin, isine yariyorsa kullanmanda bir sakinca yok. Ornegin sprinf'i kullanarak bir dizgiye yazar, ondan sonra onu cout'a gonderebilirsin.

[Not: Dikkat edilmesi gereken sey, ayni programda <stdio.h> ile <iostream>'i karistirmamaktir. Ornegin cout'a yazdiktan sonra scanf ile okumaya calisirsak, daha yazilan karakterler ekranda belirmemis olabilirler. Ama calisabilir de tabii... :)]

C++'ta formatli cikti bir sorun. :( Bu yuzden Boost'un format kutuphanesi de kullanilabilir. Su sayfanin altina ornek programlara baglanti vermisler:

http://boost.org/libs/format/index.html

Operator diyince akla islem geliyor. Ornegin sunlar operatordur (iSleC): +, %, !, +=, vs.

C'de kullanilan ozel karakterler C++'ta da aynen gecer. Ornegin '\n' yine '\n'dir... endl '\n'nin karsiligi degildir aslinda; endl, stdout'un bir de fflush edilmesine karsiliktir.

cout << endl;

yerine su yazilabilir:

cout << '\n' << flush;

C'deki karsiligi da sudur:

printf('\n');
fflush(stdout);

Bu arada, setw(n) kullanimi aslinda <iomanip> basliginin getirdigi bir kolayliktir. Onun yerine dogrudan akima da soyleyebiliriz:

cout << setw(3) << sayi;

yerine

cout.width(3);
cout << sayi;

Birincisi daha kullanisli tabii...

Aradigin bilgileri <iomanip> basligini anlatan belgelerde bulabilirsin. Bunlarin en iyilerinden birisi Josuttis'in standart kutuphaneyi anlatan kitabidir.

Bir kac tane sayfa da buldum:

http://www.arachnoid.com/cpptutor/student3.html
http://www.cppreference.com/cppio/index.html

Ali

choldax
22/03/2008, 00:45
ilginize çok teşekkür ederim :)

saygılar