首页 > 其他分享 >iostream,iostream.h,stdio.h的纠葛

iostream,iostream.h,stdio.h的纠葛

时间:2023-03-16 20:56:52浏览次数:44  
标签:std iostream cout stdio C++ using 纠葛 include

include <iostream.h>标准输入输出流
include 标准输入输出流

C++中为了避免名字定义冲突,特别引入了“名字空间的定义”,即namespace。

当代码中用<iostream.h>时,输出可直接引用cout<<x;
//<iostream.h>继承C语言的标准库文件,未引入名字空间定义,所以可直接使用。

当代码中引入时,输出需要引用std::cout<<x;
如果还是按原来的方法就会有错。

std:

在C++中,std是C++标准库的命名空间(namespace),所有标准库中的函数、类、对象等都定义在std命名空间中。在使用标准库中的元素时,需要加上std命名空间的前缀,例如:

include
int main() {
std::cout << "Hello, world!" << std::endl;
return 0;
}

在这个例子中,cout和endl都是在std命名空间中定义的,因此需要使用std命名空间的前缀。
为了避免在每个使用标准库元素的地方都使用std前缀,也可以使用using指令:

include

using namespace std;
int main() {
cout << "Hello, world!" << endl;
return 0;
}

这个例子中,在使用标准库元素时,不需要使用std前缀,而是使用了using指令把整个std命名空间引入到当前的命名空间中。需要注意的是,使用using指令可能会导致命名冲突等问题,因此应该谨慎使用。

使用时,引入std::有以下方法:

using namespace std;
cout<<x;
2.
using std::cout;
cout<<x;
3.
最基本的std::cout<<x;

这回你该知道为什么通常用#include 时,要用using namespace std;了吧。如果你不用这个,就要在使用cout时,用后两种方法了。
其他头文件也是同样的道理。
(有“.h”的就是非标准的,C的标准库函数,无“.h”的,就要用到命令空间,是C++的。
还有一部分不完全是有“.h”和没“.h”的差别。
例如:math.h和cmath)
转载自:http://zhidao.baidu.com/question/115260239.html
stdio.h是C语言的东西,输入输出是这样的printf(...);,scanf(...);
iostream.h是C++的东西,输入输出是这样的cout<<....;,cin>>.....;
stdio.h是C的标准I/O库,是以函数的方式向buffer写入或读取字符。
iostream是C++的标准I/O库,引入了输入/输出流的概念,是一个类库,是以类方法从streambuf中读取,写入字符。

标签:std,iostream,cout,stdio,C++,using,纠葛,include
From: https://www.cnblogs.com/Xuuio/p/17224080.html

相关文章

  • visual stdio基本概念辨析
    项目-属性-vc++目录-包含目录:“包含目录”是指用于引用头文件的目录列表。这些目录包括编译器需要查找以解决在源代码中引用的头文件的路径。项目-属性-vc++目录-库......
  • android stdio如何迁移device
    1.在C:\Users\(名字)\.android\avd文件中找到虚拟机文件复制且删除(由于我已经迁移完毕,只剩下一个.ini文件)  类似于这样的虚拟机文件。  2.将它复制或迁移到你希......
  • android stdio中button的按下与松开实现图标转换
    首先在res目录下的drawable文件夹下创建select功能的.xml文件,然后下载两张图片drawable文件夹(图片名称开头不可以是数字),第二步,在.xml文件中添加如下两行代码<itemandr......
  • android stdio中marqueeRepeatLimit无法循环播放
    首先,这个控件需要得到焦点,因此来实现循环播放,因此我们要 等我们再次启动虚拟机时,我们能够发现再次点击文字,就能够使控件文字循环播放。 但是这样点击文字循环会让整......
  • android stdio中textview控件的属性
    android:id//可以通过此id找到该控件android:layout_width//宽度android:layout_height//高度android:layout_background//设置背景的颜色、图片或是其他文件复制预期图片......
  • ios::sync_with_stdio(false)
    ios::sync_with_stdio(false)在C++中的输入和输出有两种方式,一种是scanf和printf另一种是cin和cout,在#include<bits/stdc++.h>这个万能头文件下,这两种方式是可以互换的......
  • mindstdio 快捷方式
    基本概念DesktopEntry文件是Linux桌面系统中用于描述程序启动配置信息的文件。Linux系统中的DesktopEntry文件以desktop为后缀名。1.创建对应的.Desktop文件sud......
  • C++学习---cstdio的源码学习分析10-改变文件流文件流buffer函数setvbuf
    cstdio中的文件访问函数stdio.h中定义了一系列文件访问函数(fopen,fclose,fflush,freopen,setbuf,setvbuf),接下来我们一起来分析一下setvbuf对应的源码实现。-fopen:打开文件-......
  • C++学习---cstdio的源码学习分析09-设置文件流buffer函数setbuf
    cstdio中的文件访问函数stdio.h中定义了一系列文件访问函数(fopen,fclose,fflush,freopen,setbuf,setvbuf),接下来我们一起来分析一下setvbuf对应的源码实现。-fopen:打开文件-......
  • C++学习---cstdio的源码学习分析08-重新打开文件流函数freopen
    cstdio中的文件访问函数stdio.h中定义了一系列文件访问函数(fopen,fclose,fflush,freopen,setbuf,setvbuf),接下来我们一起来分析一下freopen对应的源码实现。-fopen:打开文件-......