C++ Primer笔记 第一篇、开始

1、从Hello World开始

1.1 编写源文件

#include <iostream>

int main()
{
    std::cout << "Hello World!" << std::endl;
    std::string s;
    std::cin >> s;
    std::cout << s << std::endl;
    return 0;
}

main函数的返回类型必须是int

1.2 编译源文件,生成目标文件

在源文件所在目录下,输入以下内容:

g++ helloworld.cpp -o helloworld.exe

这句话的意思是:调用g++编译器,将helloworld.cpp编译成名为helloworld.exe的可执行的程序文件。
-o 选项指定了编译生成的可执行程序文件的文件名。如果忽略了 -o 选项,g++会默认生成一个名为a.out的可执行文件。在Linux系统中,这个文件名可以没有后缀,为了便于识别,一般会加上后缀,让人知道其是一个可执行文件。

2、初识输入输出

C++并未定义任何输入输出语句,也就是说,输入输出功能并未内置在C++语言中。C++程序是依靠标准库中的IO机制来实现输入输出的。
iostream库包含两个基础类型:istream 和 ostream,分别表示输入流(input stream)和输出流(output stream)。


标准库定义了4个标准输入输出对象:

  • istream类型:cin
  • ostream类型:cout, cerr, clog

输出语句:

std::cout << "Hello World!" << std::endl;

<< 是一个运算符,和 +-*/ 类似,接受两个运算对象。左侧的运算对象必须是一个ostream对象,右侧的运算对象是要输出的值。表达式会产出一个计算结果,<<的计算结果就是左侧的写入输出值的ostream对象。
上面的输出语句使用了2次<<,因此第一个<<的计算结果成为第二个<<的左侧运算对象。因此我们可以使用输出链的形式来进行输出操作。
std::endl被称为操纵符。写入endl 的效果是结束当前行,并将与设备关联的的缓冲区中的内容刷新到设备中。
>>运算符类似:它接受两个运算对象,左侧的运算对象是一个istream对象,从中读入数据,并存入到右侧的运算对象中。计算的结果是左侧的istream对象。

3、std命名空间

std::cout 和 std::cin 中,前缀 std:: 告诉编译器,cout 和 cin 是定义在名为 std命名空间(namespace) 中的。std 是标准库的命名空间,:: 称作 作用域运算符
命名空间可以避免命名冲突。
可以使用下面的语法来简化访问命名空间的语法:

using namespace std;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章