Programming: Principles and Practice using C++ (第 6 刷)の第 3 章で、Stroustrup は次のように述べています( p.68 )sqrt()
int
。
その章に基づいた簡単な C++ プログラムを次に示します。
#include "std_lib_facilities.h"
int main()
{
int n = 3;
cout << "Square root of n == " << sqrt(n) << "\n";
}
上記の引用を考えると、このプログラムをコンパイルまたは実行するプロセスが何らかの形で失敗することが予想されます。
驚いたことに、(g++ (GCC) 4.2.1 で) コンパイルして実行すると、エラーや警告なしで成功し、次の完全に適切な出力が生成されました。
Square root of n == 1.73205
したがって、私の質問は次のとおりですsqrt()
。本当に が定義されてint
いない場合、上記のプログラムが何らかの形で失敗しないのはなぜですか?