【C++ Primer Plus 读书笔记】- chap 2 开始学习C++

  • 虽然感觉自己已经过了看这本书的年龄,噫吁戱,但是... 🏃
  • 现在开始不定时记录一下读书笔记 嘻嘻
  • 由于初衷是写给自己看的,所以我记录的笔记不适用于所有人 😛

进入C++

程序创建

源代码-> 编译器-> 目标代码->链接程序->可执行代码

main

  • 一些变体
    • int main(void)
    • void main()
  • void明确指出不接受任何参数,如果括号为空,则解释为一个不接受任何参数的隐式声明。
  • ANSI/ISO C++ 标准中:如果main()末尾没有return语句,则认为以return 0;结尾。但是只用于main()函数,其他函数不适用。
  • DLL(动态链接库)模块,是其他Windows程序可以使用的代码,由于DDL模块不是独立的程序,因此不需要main()函数

预处理

  • 会处理#开头的编译指令,还有其他的处理
  • #include...将文件中的内容添加到程序中。
  • 原始文件没有被修改,而是将源代码文件和iostream组合成一个符合文件,编译的下一阶段将使用该文件。

命名空间

  • using namespace std; 始得std命名空间中所有的名称都可以用。
  • 更好的方法是,只使用所需的名称。如:
using std::cout;
using std::endl;
  • 其他方法
    • 将using namespace std;放特定函数定义中,让该函数能使用该命名空间中的所有元素。
    • 完全不使用这个语句,直接std::cout<<....

输入输出

  • endl确保程序继续运行前刷新输出(将立即显示在屏幕上);
  • "\n"不能提供这样的保证。有的系统中,有可能在你输入信息之后才显示。

源代码的格式化

  • white space 空白:空格、制表符和回车的统称
return (0); //Valid!!white space used;
return(0); //VALID!!white space omitted;

C++语句

  • 编译器负责分配和标记内存的细节。
  • 定义声明,简称定义。它将导致编译器为变量分配内存空间,又是可能有引用声明。
  • 声明不一定是定义。
  • cout是ostream类对象,cin是istream类对象,在iostream里面定义了。

函数

  • 区别函数原型和函数头,函数定义。
  • 原型如
double sqrt(double);
  • 原型只描述函数接口。
  • C和C++将库函数的原型和定义分开了,库文件中包含了函数的编译代码,而头文件中则包含了原型。
  • C++不允许函数嵌套定义。
  • main()的返回之返回给操作系统。退出值为0意味着运行成功,否则存在问题。
  • main不是关键字,由于它不是语言的组成部分。但是你不要乱用它。
posted @ 2020-05-06 15:11  xxxuanei  阅读(118)  评论(0编辑  收藏  举报