VC2005_iostream

于2006-9-30 11:39     信息   悄悄话   主页   6

 
现在VC++2005不使用了iostream.h了,都改用了<iostream>,如果是生成控制台程序,直接在生成的stdafx.h就包含<iostream>,两种方法是用:
方法一:直接在cout,cin加名称空间,这样如果多的话要累死

//文件:stdafx.h
#pragma once
#include <iostream>//已经声明了
#include <tchar.h>
//————————————————————
//文件:TestIO.h
#include "stdafx.h"

void _tmain(int argc, _TCHAR* argv[])
{
        char *cWelcome=new char[100];
        std::cout <<"这是一个在iostream中显式声明std的例子\n";
    std::cout <<"请输入欢迎词,比如我爱上专门网:\n";
        std::cin.get(cWelcome,100);
        //int iSize=sizeof(cWelcome);
        for(int i=0;cWelcome!=”;i++)
        {
                std::cout <<cWelcome;
        }
        std::cout<<std::endl;
        delete[] cWelcome;
}

第二个就是2楼写的在文件头那里加上using namespace std声明,然后编码就不用显式适用std了

#include "stdafx.h"
using namespace std;//声明std名称空间

void _tmain(int argc, _TCHAR* argv[])
{
        char *cWelcome=new char[100];
        cout <<"这是一个在iostream中显式声明std名称空间的例子\n";
    cout <<"请输入欢迎词,比如我爱上专门网:\n";
        cin.get(cWelcome,100);
        //int iSize=sizeof(cWelcome);
        for(int i=0;cWelcome!=”;i++)
        {
                cout <<cWelcome;
        }
        cout<<endl;
        delete[] cWelcome;
}

这是C++新标准的一个改进,增加了C++代码的可移植性。这个有时候会带来一些困扰,因为有许多老的C++书和示例都是按照"xxxx"+".h"的方式调用类库,如果你使用VC++.NET编写托管C++程序的话,声明这样的名称空间就很普遍了,如using namespace System,真这样写就不要考虑太多可移植到Linux,选择了VC开发MFC,ATL,WTL程序就是为了搭乘Windows的便利。

This entry was posted in Inside C++. Bookmark the permalink.

Leave a comment