, < iostream>
<xlocnum>
içerir <ios>
içerir <ostream>
içermektedir <istream>
içerir. dizisi diğer derleyici ve/veya uygulamalarda farklı olabilir içermesine karşın program dolaylı <cstdlib>
içerir böylece <xlocnum>
, <cstdlib>
içerir, bu kod çalışır nedeni <iostream>
, doğrudan veya dolaylı <cstdlib>
içermesi. iostream
'un içerdiği kitaplıkların uygulamaya özgü olduğu ve kodun başka bir derleyicide derlenmeyebileceği belirtilmelidir. Genel bir kural olarak, bir başlık dosyasının içerdiği kütüphaneler genellikle iyi belgelendirilmemiş veya standartların bir parçası değildir, dolaylı kullanımlara dayanmazlar. Bir kitaplığa ihtiyacınız varsa, doğrudan ekleyin ve standart kitaplıklar include guarded olduğundan, programınızın derlemesine veya çalışma zamanına önemli overhead uygulanmayacaktır.
Bu, "iostream" tarafından cstdlib'e dahil edilmiş gibi görünüyor. En azından GCC 4.7.3'te durum böyle görünüyor. – juanchopanza
Sorunuz genel (yanlış) bir anlayışın bir parçası gibi görünüyor, bir dokümantasyon "X yaparsanız, Y yapabilirsiniz" yazıyorsa, X'in Y'nin bir hata yapmasına neden olmadığına dair bir garantiye sahip olduğunuzu varsayalım. Çoğu zaman böyle olmaz. Hala Y'nin meşru olduğunu kanıtlamak için X yapmak zorundasınız. –