C++ Primer Plus 第二章 开始学习C++

进入C++

#include <iostream>
int main()
{
  using namespace std;
  cout<<"Come up and C++ me some time. ";
  cout<<endl;
  cout<<"You won't regret it!"<<endl;
  return 0;
}

作为接口的函数头

C++句法要求main()以int main()开头 , 括号内是形参列表

main()被启动代码调用 , 启动代码是由编译器添加到代码中的
C语言中 , main()不加int也表示函数类型为int , 但是cpp中淘汰了这种用法

也可以用 :

int main(void)

关键字void明确指出 , 函数不接受任何参数

让括号空着和用void等效

尽管void main()也是可行的 , 但是应当避免这种格式(然而我尝试在clion中 , 似乎并不能)

为什么main不能用其他名称

通常C++程序必须包含一个名为main的函数 , 如果没有 , 编译器将指出没有main的错误

然而存在一些例外情况 , 如DLL动态链接库的DLL模块不是独立的程序 , 用于专用环境中的程序(如机器人中的控制器芯片)可能不需要用main
这种情况下 , 有一个隐藏的main , 它调用了_tmain()

C++预处理器和iostream文件

C++有一个预处理器 , 在进行主编译之前对源文件进行处理 , 它处理以#开头的编译指令

include

该编译指令将导致预处理器将iostream文件的内容添加到程序中 , 在代码被编译之前 , 替换或添加文本

Q : 为什么要将iostream文件中的内容添加到程序 ?

iostream中的io指的是输入和输出 , C++的输入输出方案涉及iostream文件中的多个定义 , 为了使用cout来显示信息 , 程序需要这些定义

# include编译指令将导致iostream文件中的内容随源代码文件的内容一起被发送给编译器 , iostream文件中的内容将取代#include , 原始文件没有被修改

头文件名

像iostream这样的文件叫做包含文件 , 由于它们被包含在其他文件中 , 也叫做头文件

C++的编译器自带了很多头文件 , 每个头文件都支持一组特定的工具

C语言的传统是头文件使用.h扩展名 , 如math.h ,但在cpp中 , 换成了以c为前缀 , 去掉扩展名
即cmath

名称空间

using namespace std;

这叫做using 编译指令

名称空间支持是一项C++特性 , 有助于组织代码

一个可能的问题是两个封装好的产品都含有wanda的函数 , 那么使用wanda函数时编译器不知道用哪个 , 因此名称空间可以使得产品被封装在一个叫做名称空间的单元 , 通过 :: 来查询(话说这个markdown是冒号+星号的markdown是这个 😗

当不想用::时 , 可以用using编译指令 , 即

using namespace std;

更好的方式是 :

using namespace std::cout;
using namespace std::cin;
using namespace std::endl;

使用cout进行C++输出

cout<<"Hello World!";

<<符号表示该语句将把这个字符串发送给cout , 指出了信息流动的路径

cout是一个预定义的对象 , 知道如何显示字符串 , 数字和单个字符等

cout的对象属性包括一个插入运算符(<<) , 可以将其右侧的信息插入到流中

控制符endl

endl是一个特殊的C++符号 , 表示重起一行 , 是一个控制符(manipulator)

换行符

C++中还有换行符\n
endl和\n的区别是 , endl确保程序继续运行前刷新输出(将其立即显示在屏幕上) , \n不能

C++其他语法

类简介

cout是一个ostream类对象 , ostream类定义(iostream文件的一个另一个成员)描述了ostream对象表示的数据以及可以对它执行的操作

cin是一个istream类对象 , 也在iostream文件中定义

main函数调用

main函数返回0给了谁 ?
可以将计算机操作系统(UNIX或者Windows)看作调用程序 , 它们调用了main函数 , 返回结果给了操作系统

通常规定是 , 如果退出值为0则说明程序运行成功 , 为非0则说明存在问题

如果C++程序无法打开文件 , 可以将他设置为返回一个非零值 , 然后涉及外壳脚本或者批处理文件来运行该程序

using namespace std的使用

  1. 放在函数定义前 , 使得所有函数都能使用std
  2. 放在特定函数定义中 , 使得该函数能使用std
  3. 使用using std::cout
  4. 不用using , 用 std::cout
posted @ 2025-05-26 21:46  Guaninf  阅读(10)  评论(0)    收藏  举报