开篇先来一个简单的程序入门吧!
//myfirst.cpp -- displays a message
#include <iostream>
int main(){
using namespace std;
cout << "Come up and C++ me some time.";
cout << endl;
cout << "You won't regret it!" << endl;
cin.get(); //if necessary
return 0;
}
在C语言的学习过程中,已经稍微接触到了相关的内容,如果作为一个编程初学者的话,这些代码肯定会看不明白,但是应该没有人在之前没有接触过任何关于编程的知识就直接学习C++吧。
像 iostream 这样的文件成为头文件,头文件中包含在程序中未定义的函数等内容,例如 cout 等,虽然C++可以像C语言一样用 .h 格式,但是,如果为了保持C++的风格,最好还是不要这么做。
名称空间编译指令
在上个程序中,出现了这样的一条代码:
using namespace std; //lazy approach,all names available
这是名称空间编译指令,在后续的学习中会继续了解这个概念,using 使得在 std 中的所有名称都可用,但如果这样做的话,在大型工程中可能会出现潜在问题,所以这样写实际上是一个偷懒的写法,更好的办法是,需要什么名称,就用 using 来声明相应的名称即可。例如:
using std::cout; //make cout available
using std::endl; //make endl available
使用cout进行C++输出
如果在屏幕上直接打印一条消息,直接按如下样例输入即可:
cout << "Come up and C++ me some time.";
<< 代表该条语句要把双引号内的字符串发送给 cout,该符号指出了信息的流动路径,这是一个插入运算符,在这里,它将一个字符串插入到了输出流中。现在可以理解 cout 是控制输出的函数,实际上,cout 是一个预定义的对象,它知道如何显示字符串、数字、单个字符等内容——这展示了对象的一个长处,你不用去了解它的内部情况,只需要填入它支持的接口,就可以实现相应的功能。
如果 string 是一个字符串,则使用以下代码就可以将这个字符串输出:
cout << string;
如果num中储存一个数字,那么:
cout << num;
打印出来的则是存储在 num 中的数字,而不是 "num" 这个字符串本身。
endl 与换行符
在C++中,可以使用endl或者\n换行,二者在视觉上起到了相同的效果,但在内部实现机制上却并不相同,具体可以参考文章C++中换行endl和\n的区别。
总的来说就是:在 C++ 中,终端输出换行时,用 cout<<......<<endl 与 "\n" 都可以,这是初级的认识。但二者有小小的区别,用 endl 时会刷新缓冲区,使得栈中的东西刷新一次,但用 "\n" 不会刷新,它只会换行,栈内数据没有变化。但一般情况,二者的这点区别是很小的,在大的程序中可能会用到。建议用 endl 来换行。
使用 cin
如果 num 代表一个变量,如果想在C++中为其赋值,只需要写入:
cin >> num;
即可。>>是一个插入运算符,cin 从输入流中抽取字符串指向右边的变量中。
其实这篇文章是我很久以前就写了的,只是一直放在里面没有发表出来,接下来的日子里,我要好好学习C++的知识,重新做人