2013-05-10 26 views
5

Ben C++ kullanmanın yeni tür biriyim. Hızlı bir sorum var, muhtemelen aptal bir soru. Anlıyorum gibiC++ streamsize prec = cout.precision (3) - Nasıl çalışır?

streamsize prec = cout.precision(3); 

doğru bu beyanı böyle çalışır: 3 cout hassasiyet ayarlanır, ancak prec önceki hassas değeri atamak.

Ayrıca basitçe, bir değişkene bir fonksiyon sonucunu (diyelim bir matematik ekleme fonksiyonu) atayabilirsiniz:

int z = addition(3,4); 

ikincisinde, bu hesaplamayı yapar ve değişken z sonuçları atar, önceki değer veya varsayılan değer değil. Anlayışım doğru mu? Onların arasındaki fark ne?

+2

Aptal bir soru değil, utangaç olma. – RandyGaul

cevap

3

Bir işlevin hangi değerde geri döndüğü tamamen belirli bir işleve bağlıdır. Çoğu fonksiyon sadece operasyonlarının bir sonucunu döndürür.

Standart kütüphane akışlarındaki (precision gibi) durum belirleme işlevleri "Yeni bir değer belirledim ve eski olanı döndürdüm" arabiriminde biraz sıra dışıdır, ancak işlev geçerli olduğu sürece yine de tam olarak geçerlidir. Davranışlar belgelenmiştir (durumlarındadır).

+0

Bu nedenle, işleve ve bir değerin döndürülmesinde özel davranışına bağlıdır. cout.precision sadece önceki değeri döndürür. daha sonra hassasiyeti değiştirmek ve önceliğe atamak için aşağıdakileri yapmalıyım. Std :: cout.precision (3); streamsize prec = cout.precision(); Çok teşekkürler. – user2371160