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

1、从Hello World开始 1.1 编写源文件

#include 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命名空间 【C++|C++ Primer笔记 第一篇、开始】std::cout 和 std::cin 中,前缀 std:: 告诉编译器,cout 和 cin 是定义在名为 std 的 命名空间(namespace) 中的。std 是标准库的明明空间,:: 称作 作用域运算符 。
命名空间可以避免命名冲突。
可以使用下面的语法来简化访问命名空间的语法:
using namespace std;

    推荐阅读