关于C和C++头文件的小记
2010-08-08 08:54
197 查看
今天在坛子里瞎逛的时候,看到有人问double型数据有被自动截取的现象,于是就有了强制指定输出精度的问题。
其中有人指出可以使用setprecision()函数来指定输出的精度。
但我在自己的机子上验证的时候,发现调用该函数时,包含的头文件对编译造成了问题。
比如:cout << setprecison(8) << Variable << endl; 这句,编译器总是提示cout ambiguous symbol(不明确的符号);
仔细检查,觉得常用的肯定是没有问题了,问题应该出现在新接触的函数setprecision。
调用该函数应该包括的头文件也包括了。但是问题能出在哪儿呢?
后发现问题出现在头文件的包含方式上,比如#include <iomanip.h>和#include <iomanip>
这两种包括方式看似相同,但却有着实质上的区别。
第一种方式是C的方式,而第二种是C++的方式。至于详细的区别,请查看C到C++演变的历史。
其中有人指出可以使用setprecision()函数来指定输出的精度。
但我在自己的机子上验证的时候,发现调用该函数时,包含的头文件对编译造成了问题。
比如:cout << setprecison(8) << Variable << endl; 这句,编译器总是提示cout ambiguous symbol(不明确的符号);
仔细检查,觉得常用的肯定是没有问题了,问题应该出现在新接触的函数setprecision。
调用该函数应该包括的头文件也包括了。但是问题能出在哪儿呢?
后发现问题出现在头文件的包含方式上,比如#include <iomanip.h>和#include <iomanip>
这两种包括方式看似相同,但却有着实质上的区别。
第一种方式是C的方式,而第二种是C++的方式。至于详细的区别,请查看C到C++演变的历史。
相关文章推荐
- [C++STDlib基础]关于日期时间的操作——C++标准库头文件<ctime>
- [C++STDlib基础]关于单字符的操作——C++标准库头文件<cctype>
- [C++STDlib基础]关于C标准输入输出的操作——C++标准库头文件<cstdio>
- [C++STDlib基础]关于单字符的操作——C++标准库头文件<cctype>
- 关于C++头文件的引用
- [C++STDlib基础]关于日期时间的操作——C++标准库头文件<ctime>
- 关于c++头文件
- [C++STDlib基础]关于C标准输入输出的操作——C++标准库头文件<cstdio>
- 关于c++头文件的重复包含
- C++基本概念——关于头文件的那些事
- 关于C++头文件
- [C++STDlib基础]关于数学函数的介绍——C++标准库头文件<cmath>
- C++ 关于输入输出流的头文件引用
- 关于c c++ 混编包含的头文件出现的问题
- 关于ISO/ANSI C++头文件的说明
- 关于C++头文件的小知识
- 关于C++中头文件<climits>
- [C++STDlib基础]关于字符串的操作——C++标准库头文件<cstring>
- 关于在C++头文件中定义成员函数
- 关于C++头文件的包含顺序问题