但是注意:当另起一行的时候不要在该行首添加额外的空格符,因为这些空格符号也会写入该字符串。
For Example:
std::string a = "asdfghzxcv";
std::cout<<a<<std::endl;//结果输出“asdfghzxcv”
std::string::iterator iter = a.begin();
for(;iter!=a.end();iter++)
{
std::cout<<*iter<<std::flush;
}//结果输出“asdfghzxcv” int ival(100);//直接初始化
int ival1=100;//复制初始化 但需注意:“初始化并不是赋值”,所以这两种形式总的来说都是调用构造函数来创建对象的,当用于类对象时
三、C++中的extern声明
在C++可以通过extern关键字声明变量或函数,也就是相当于扩展了变量或函数的作用域,其主要的用途是对于
那些在多个文件中都需要用到的变量或函数需要有与定义分离的声明,在这样的情况下,一个变量可以在一个.c或则.cpp
(如果是在头文件.h中定义的只需加上#include“”即可引用)文件中定义,当在其他文件中需要用到此变量或函数只需
用extern声明即可。
但有两三点需要注意:
1:在声明是必须向程序完成的表明该声明变量的类型和名字或函数返回值类型、函数名、函数形参类型等。
2:在多个不同的.cpp文件中如果出现了相同的变量名或函数名,编译器在把每个单独的目标文件编程可执
行文件后,在链接各个可执行文件时会发生重定义错误。
3:只能扩展全局作用域中的对象。
For Example:
//源.cpp
#include<string>
#include<iostream>
#include<iterator>
int main()
{ extern int ii;
extern int a3;
extern void fun();
fun();
std::cout<<a3<<std::endl;
std::cout<<ii<<std::endl;
return 0;
}
int a3 = 101;
void fun()
{
}//源1.cpp int ii = 99099;
//源1.cpp int ii = 99099; extern const int ss = 22;//如果去掉extern则程序在链接时会报错。
//源.cpp
#include<iostream>
int main()
{ extern int ii;
extern const int ss; //在声明是也要注明为const类型
std::cout<<ii<<std::endl;
std::cout<<ss<<std::endl;
return 0;
}
For Example:
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
//从输入流中获取一行数据
string line;
getline(cin,line);
cout<<"输入流:"<<line<<endl;
//从文件流中获取一行数据
string fileline;
ifstream is("E:\\C++PrimerTest\\a.txt");
if(!is)
{
cout<<"文件打开失败!!!"<<endl;
}
getline(is,fileline);
cout<<"文件流:"<<fileline<<endl;
return 0;
}---yyc原文:http://blog.csdn.net/yyc1023/article/details/19691369