Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

c++ programcilarina bir dizi sorular


wanderer

Öne çıkan mesajlar

sadede geleyim:

problemim su. diyelim ki bir class yazdim (yine diyelim adi yeni olsun), classimin constructorini da bir int alicak sekilde yazdim ki, intten benim classa casting olabilsin.

sonra da kodun bir yerinde:

yeni x = 15; (a)

dedim.

stroustrup'un kitabinda bu initialization in suna denk oldugu yaziyor:

yeni x = yeni(15); (b)

bu ikisi nasil denk olabilir? sanki yine kitapta anlatilan mekanizmalar bu denkligi ongormuyor gibi geliyor.

constructorlara cout lar falan yerlestirerek denedigimde ise, hakkaten de iki durumda da mekanizmanin ayni sekilde isledigini gordum, soyle ki: yeni'nin constructuru 15 degeri ile cagriliyor.
ama yukarida dedigim gibi bana sanki boyle olmamasi gerekirmis gibi geliyor.

2 durum icin sunlari dusundum, acaba hatam nerededir?

(a) durumunu anlamak kolay, ortada bir initialization var, initialization bir int ile yapilmak, bu durumda compiler yapmasi gerekeni yapiyor, o inti constructora arguman olarak yediriyor ve constructor i cagiriyor. (yani o int ile o objeyi yaratiyor)

(b) durumunda ise bana once bir temporary object yaratilmasi-ifadenin sag tarafindaki yeni(15) cagirimi yuzunden- , sonra da copy constructor cagrilip bu temporary object ile initialization'in yapilmasi gerekir gibi geliyor, ama oyle olmuyor.


(not:

ama mesela onceden y adli bir yeni'imiz oldugu durumda;
yeni x;
y = x;

dedigimzde tam yukarida dedigim oluyor.
)

[Bu mesaj wanderer1985 tarafından 01 Ekim 2004 19:01 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

C++ de farkli o zaman
cunku benim dedigim sen ne dersen de bi obje yaratirken asla onun memory deki halini degistiremessin
sadece memory dei o haline bi pointer yaratirsin
ama o pointer senin icin obje olarak gorunur

farkli pointerlardan bahsediyoruz, yani sen C++ de pointer denen seyden, ben de genel programlama da pointer denen olaydan bahsediyom :P[signature][hline]Silence in the studio!
Link to comment
Sosyal ağlarda paylaş

eheh en bi ilginç C sorusu oldu pati deki sefdim valla

bildiğim kadarıyla ikiside explicit initilialization, constructor'ın tanımlamasına explicit getirdiğinde yeni x = 5; tipinde bir tanımlama yapamazsın.

yeni x= yeni(5) tipiylen ilgili tam bilgim yok. (az önce denediğim kadarıyla copy-constructorı private yaparsan satır hata veriyor, public olursa da kullanmıyor harbi ilginç bişi) doru düzgün bi araştırasım var bunu.[signature][hline]h u m a n i t y - i s - t h e - o n l y - s u p e r p o w e r !
Link to comment
Sosyal ağlarda paylaş

Benim de bir sorum var:
Uzun yazılar için hangi variable kullanmalıyım?[signature][hline]-Alper viens au tableau.
-HASSKTRR YEAAA!!!
Coğrafya dersinde Alper saçmalamaya devam eder:
-Alper, kutuplara doğru yerleşim nasıldır yavrum?
-Soğuğa dayanıklı betonarme evler vardır hocam.
Link to comment
Sosyal ağlarda paylaş

STL stringlerini, sadece yazi icin degil, veri vs icin kullanabilirsiniz, uzun kisa vs diye dert etmeyin. yani, buffer olarak kullanilabiliyor mesela.

su var yalniz, kendini reallocate ediyo boyu uzadikca, buna dikkat etmeniz lazim veri koyarken, 10mbye cikaracaksaniz, byte byte degil mb mb mesela ekleyin



ilk mesajdaki sorudaysa; o da bi initialization oldugu icin copy constructor falan cagirilmiyor.[signature][hline]wastiee | PHPNotepad
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...