《C和C++代码精粹》——1.7 类型安全IO

    xiaoxiao2023-12-25  165

    本节书摘来自异步社区出版社《C和C++代码精粹》一书中的第1章第1.7节,作者: 【美】Chuck Allison,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    1.7 类型安全I/O

    C和C++代码精粹当然每个C程序员都曾经使用过printf的错误格式描述符号。对printf来说没有办法检查所传递的数据项是否与字符串格式匹配。

    程序清单1.4 一个说明引用调用的交换函数

    // swap.cpp #include <stdio.h> void swap(int &, int &); main() { int i = 1, j = 2; swap(i,j); printf("i == %d, j == %d\n", i, j); } void swap(int &x, int &y) { int temp = x; x = y; y = temp; } //输出: i == 2, j == 1

    做如下事情的频率如何?仅仅是在运行时发现问题?

    double d; … printf("%d\n",d);/*嘿!本应该用%f*/

    换句话说,C++流库使用一个对象的类型来决定正确的格式:

    double d; … cout<<d<<endl;//不会失败的

    表达式cout<

    double x = 1.5, y = 2.5; //从现在起保留小数点后两位 cout.precision(2); //保持小数点后的0 cout.setf(ios::showpoint); cout<<x<<'\n'; //打印1.50 cout<<y<<'\n'; //打印2.50

    本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)