Sola kaydirma (left shift) ve saga kaydirma (right shift) operatorlerinin işlevleri dısında,C++ programlama dilinin I/O sistemi << (Giriş-insertion) ve >> (Çıkış-extraxtor) akımları ile çalışmaktadır.Bu akımlar herhangi bir sistem içerisinde bilgi üreten ve bilgi alan sanal aygıtlardır.Herhangi bir sistem ile çalışması sebebiyle C++'ın bu I/O akım aygıtları,geleneksel C programlama dili printf() ve scanf() fonksiyonlarına gore çok daha gelişmiştir.Ornegin bir disk icin veya bir yazıcı icin farklı arabirim uzerinde işlem yapılmasına gerek yoktur,bu sayede C++ programcıları aynı arabirim uzerinde giriş-çıkış işlemlerini rahatlıkla gercekleştirebilirler.Bilgi akışı belirtilen bu akımlar icerisinde,sistemin tampon bellek denilen bir alanda depolanması ile sırasıyla input-output işlemlerini gercekleştirir.
Bir C++ programı calısmaya basladıgında onceden tanımlı 4 akım kendiliginden calısmaktadır.
cin ve cout sırasıyla bilgi alan ve bilgi gonderen akımlar olarak tanınır.Ayrıca standart hata akımı olarak adlandırılan cerr ve on bellekli cerr olarak adlandırılan clog akımlarıda yine çıkış akımları grubunda yer almaktadırlar.
Veri tipine baglı olmaksızın(string,int,double,...) bu akımlara gonderilen veriler otomatik olarak tampona baglanarak işlemlerini gercekleştirir.Hatırlanacagı gibi C programlama dili icerisinde kullanılan printf("%s",mesaj) fonksiyonunda cevrim karakterleri bulunmakta idi.C++ daki gelişmiş bu akımlar sayesinde,cevrim karakterlerine gerek duyulmaz.Ote yandan bir scanf("%d",°er) fonksiyonu ile bir degiskenin degeri okunurken,degiskenin basında alınan adres operatoru burada gecerli degildir.Bu durum yine otomatik akım sistemi sayesinde gercekleşmektedir.
2. Visual basic dili icerisinde tanımlı timer nesnesinin,C++ programlama dili icerisindeki adı time() fonksiyonu olarak gecmektedir.long veri tipi donduren bu fonksiyonun bir ornegini asagıda inceleyebilirsiniz.
#include <ctime>
#include <iostream>
using namespace std;
int main(){
long zaman1,zaman2,basla;
int i;
cout << "Baslamak icin bir tusa basiniz:";
getchar();
basla=time(0);
while(1) {
zaman1=time(0);
do
zaman2=time(0);
while(zaman2-zaman1<1);
cout << "sinyal " << zaman2-basla << "\n";
}
return 0;
}
Bu sayede tıpkı timer control'un yaptıgı gorev gibi her saniye basına bir sinyal gonderen program yukarıda verilmiştir.
3.thread daha cok aynı anda bir den fazla iş yapmak istediginiz durumlarda kullanabileceginiz bir kavramdır.Çok çekirdekli işlemciler icin,sistemin dahili formda çalışma durumunda talep ettiginiz uzere yapabilecekleriniz bellirli bir olcude sınırsızdır.Tabi bu sistemi kullanabilmenize de baglıdır.Bununla ilgili bir program yazarken,programın gerekli kısmını tespit etmelisiniz.Ornegin bir helikopterden çıkan sayısız ateş toplarını thread ile gercekleştirmek mumkundur.Burada thread kullanımını sınırlayan bir programlama dili yoktur.Thread kendi basına bir sistem,bir ihtiyac oldugu icin nesneye dayalı herhangi bir programlama dili ile programlar yazabilirsiniz.Ancak thread konusu baslı basına bir konu oldugu icin buradaki anlatım zayıf kalacaktır ve gerekli sistem icin iyi bir analiz gerekmektedir.Internette bu konu ile ilgil bir cok yazı bulunmakta,arastırma yapabilirsiniz.
Başarılar