- 530 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:55:32 ]
- >>529
errnoはグローバル変数なので、 errno = 0; std::pow(x, y); if (errno != 0) { /* 失敗 */ } みたいなコードを書いたときに、powとifの間で他のスレッドによってerrnoが変更されてしまう可能性がある だから、errnoを気にするとpowとかはスレッドセーフじゃなくなる たいていのコンパイラにはerrnoをTLSに置いてスレッドセーフにするオプションとかがあるけどね
|

|