Loading

C++标准输入输出

一、问题引入

关于C和C++的输入输出区别,虽然在C++中仍然可以使用 scanfprintf,但建议使用 cincout

虽然使用不同的函数得到的结果一样,但仔细检测发现,cincout 没有格式控制符了,意味着输入更简单了

二、解决过程

#include <iostream>

using namespace std;

int main(void)
{
    int num = 0;

    cout<<"Please input a number:";
    cin>>num;
    cout<<"num="<<num<<endl;
    return 0;
}

三、反思总结

程序中和C比较有一个很大的不同是:using namespace std;

名称空间支持是一项C++特性,旨在让你编写大型程序以及将多个厂商现有的代码组合起来的程序时更容易,它还有助于组织程序。

例如:若A厂家封装了一个函数库,有函数 wanda() ,B厂家封装了一个函数库,也有函数 wanda()。那么问题来了,源程序调用 wanda() 函数就会出现冲突。若添加了命名空间,则可以通过它区分函数。

  • A::wanda()

  • B::wanda()

使用using namespace std; ,意味着 在源文件中使得std命名空间中的所有名称都可以用。

std::cout<<"Please input a number:";
std::cin>>num;
std::cout<<"num="<<num<<std::endl;

// 简化后
cout<<"Please input a number:";
cin>>num;
cout<<"num="<<num<<endl;

还有一个有意思的地方,发现没有输入回车符,但是结果还是换行了。这时因为 endl 起到回车符的作用

另一个差异是头文件:#include <iostream>

C语言的传统是,头文件的扩展名 .h ,将其作为一种通过名称表示文件类型的简单方式。但C++的用法变了,C++头文件则没有扩展名(虽然C++程序仍可以使用 .h文件),形成了C++风格。

四、参考引用

C++ Primer Plus 第六版

posted @ 2023-04-10 11:33  eiSouthBoy  阅读(56)  评论(0)    收藏  举报